升级后 CORS 错误 TestCafe 模拟

问题描述 投票:0回答:1

我最近将一个项目的 TestCafe 从

1.8.6
升级到
2.4.0
,现在我们的模拟由于 CORS 错误而失败,但是,我不确定如何解决它们。对于“OPTIONS”请求,我得到了正确的 200 状态,但实际请求因 CORS 错误而失败。

这是我们使用的模拟:

export function detailsMock(detailsMockData = {}) {
  return RequestMock()
    .onRequestTo(
      new RegExp(
        `^${env.API_URL}/orders/[0-9]+/disbursements/[0-9]+[\?disbursementId=[0-9]+]?$`
      )
    )
    .respond(detailsMockData, 200, {
      'access-control-allow-credentials': 'true',
      'access-control-allow-origin': `${env.BASE_URL}`
    });
}

然后在测试中我有:

 await t.addRequestHooks(detailsMock(detailsMockData))
 await t.navigateTo(`${env.BASE_URL}/order/${orderData.fileId}/disbursements/123`)
    .expect(viewDisbursementPageSelectors.wireNotMatchToast.innerText)
    .eql(
      'Some message.'
    )
  await t.removeRequestHooks(disbursementListMock());

这是我在浏览器控制台中看到的 CORS 错误:

在'http://localhost:54392/QrHot6VR5HJPHVnKYb!a!0!sREMOVED-FOR-CONFIDENTIALITY/https://REMOVED-FOR-CONFIDENTIALITY/ncs/v1/orders/50612391/disbursements/ 访问 XMLHttpRequest来自来源“http://localhost:54391”的 123' 已被 CORS 策略阻止:在预检响应中,Access-Control-Allow-Headers 不允许请求标头字段 pragma。

testing automation automated-tests e2e-testing testcafe
1个回答
0
投票

看起来被测试的应用程序中的模拟请求已更改。 您需要为

OPTIONS
请求创建一个单独的模拟。 在 this 线程中查看应为此模拟指定哪些标头。

© www.soinside.com 2019 - 2024. All rights reserved.