首页 > 解决方案 > 如何解决 testcafe for file:// 和 https:// XHRs 的 CORS 问题

问题描述

TestCafe 开发人员:感谢您创造了一款出色且易于使用的产品!

我正在使用 testcafe 对我的电子应用程序进行完整的端到端测试,该应用程序正在发送 XHR,其中大多数端点 URL 具有该file://方案,而其他一些 URL 是我们控制的 API。

file://我通过打开 Http-server npm 包来修复 URL 的 CORS 问题(testcafe 代理使用 222 代码响应)--cors

我目前的问题是,当我的应用程序将 XHR 发送到 API 时,我似乎没有做任何事情来解决问题。我不想模拟API 请求。当不在 testcafe 实例中运行我的应用程序时,file://API 请求都没有问题。

有没有(直截了当的)方法来解决这个问题?(另外,对于请求是否有类似的解决方案file://而无需创建网络服务器?)我假设这个问题很常见,我已经查看了 testcafe 和 testcafe-hammerhead 的 Github 问题以及食谱页面。我也尝试创建一个请求挂钩,但我仍然收到 222 响应代码。

这是我的自定义钩子:

class MyHook extends RequestHook {
  constructor(requestFilterRules) {
    super(requestFilterRules, {includeHeaders: true, includeBody: true});
  }
  onRequest(event) {
    event.requestOptions.headers['Origin'] = 'file://';
    console.log(event);
  }
}

我假设我所要做的就是Origin:根据上面的代码将标头更改为我的 API 接受的内容。(我猜测上面代码中includeHeaders/include body属性的存在/不存在或响应方法在这里没有影响,但我不确定。)

谢谢!

标签: testingcorsautomated-testsweb-testingtestcafe

解决方案


推荐阅读