Testing 如何使用testcafe for file://和https://XHRs解决CORS问题
TestCafe开发者:感谢您创建了一个很棒的、易于使用的产品 我正在使用testcafe对我的electron应用程序进行完整的端到端测试,该应用程序正在发送XHR,其中大多数端点URL都有Testing 如何使用testcafe for file://和https://XHRs解决CORS问题,testing,cors,automated-tests,web-testing,testcafe,Testing,Cors,Automated Tests,Web Testing,Testcafe,TestCafe开发者:感谢您创建了一个很棒的、易于使用的产品 我正在使用testcafe对我的electron应用程序进行完整的端到端测试,该应用程序正在发送XHR,其中大多数端点URL都有文件://方案,其他一些则是我们控制的API 我通过在启用了--CORS的情况下启动Http服务器npm包,用文件://URL修复了CORS问题(testcafe代理用222代码响应) 我目前的问题是,当我的应用程序将XHR发送到API时,我似乎没有做任何事情来解决问题。我不想模拟API请求。在testca
文件://
方案,其他一些则是我们控制的API
我通过在启用了--CORS
的情况下启动Http服务器npm包,用文件://
URL修复了CORS问题(testcafe代理用222代码响应)
我目前的问题是,当我的应用程序将XHR发送到API时,我似乎没有做任何事情来解决问题。我不想模拟API请求。在testcafe实例中不运行我的应用程序时,file://
和API请求都没有问题
有没有(直接的)方法来解决这个问题?(另外,对于文件://
请求是否有类似的解决方案,而不必创建Web服务器?我假设这个问题很常见,我已经查看了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可以接受的内容。(我猜测上述代码中是否存在includeHeader/include body属性或响应方法在这里没有影响,但我不确定。)
谢谢大家! 对我来说,它看起来像一只虫子。您可以发布一个端点URL的示例吗?使用本地Web服务器之前的端点示例:file:///C:/Project/src/js/modules/settings/views/home.code.page.htmlAlso,当我根据上面的代码控制台输出
事件时,我看到\u requestInfo
有两个小写的来源:
标题'file:///C:/Project/src/index.html'和'file://'的大写字母Origin:
标题。我在没有做太多测试的情况下尝试了一个修复,并添加了这个。标题['access-control-allow-Origin']='*';第65行附近file-request.js中的\u onRequest
方法。我注意到浏览器似乎对正常的文件://
请求执行此操作。这是修复我第一次从file://
URL到file://
URL的请求。我仍在研究如何从文件://
URL到https://
URL修复CORS问题。我无法重现该问题。请创建新的错误报告,并提供可用于重现问题的示例应用:。