Joe*_*Joe 3 javascript xss ajax jasmine karma-runner
我正在设置使用Jasmine和Karma测试我的JavaScript的测试。Karma在Node.js中运行,并启动Chrome浏览器。
我不断收到错误消息“ Chrome 28.0(Windows)ERROR Script error。at:0”。在进行检查时,我意识到我在代码中创建的某些对象会进行AJAX跨域AJAX调用,并且在它们进行我的Karma测试时崩溃。
我不需要这些AJAX调用就可以使测试成功,但是我希望它们不要使我的Karma测试崩溃。
我愿意以多种方式解决此问题。我可以更改我的Karma / Chrome设置,以便AJAX不会灾难性地失败吗?我可以覆盖XMLHttpRequest,这样就不会提出有问题的请求或没有提出任何请求吗?
注意:即使它也在发出跨域AJAX请求,测试也不会在调试窗口中失败。
我正在使用一个覆盖jQuery的AJAX的测试库。但是,我还有另一个仍在发出AJAX请求的库。
小智 5
我在CORS和AJAX上也遇到了类似的问题,然后我遵循了詹姆的建议。然后,我收到“错误[启动器]:无法启动chrome_without_security找不到二进制chrome_without_security”。
由于我的问题与CORS有关,因此我在这里发现应该将新的浏览器类型添加到karma.conf.js的浏览器列表中。
我这样添加它:
browsers: ['Chrome_without_security'],
customLaunchers:{
Chrome_without_security:{
base: 'Chrome',
flags: ['--disable-web-security']
}
}
Run Code Online (Sandbox Code Playgroud)
之后,由于我只有一个浏览器,因此无需使用
karma start --browsers Chrome_without_security
Run Code Online (Sandbox Code Playgroud)
我可以输入
karma start
Run Code Online (Sandbox Code Playgroud)
而且它将要求没有安全性的HeadlessChrome,这意味着它不会在CORS上发现任何问题。
| 归档时间: |
|
| 查看次数: |
2721 次 |
| 最近记录: |