javascript – 如何使用Testacular AngularJS测试外部服务的应用程序
作者:互联网
我有一个在http:// localhost:6543上运行的应用程序 – 它是一个金字塔应用程序.
>此应用程序服务于AngularJS应用程序/
>此应用程序使用socket.io本身
问题是:是否可以使用这些工具测试该应用程序?
我在我的scenario.js文件中有这个:
beforeEach(function() {
browser().navigateTo('http://localhost:6543/');
});
但是当我启动testacular(运行或启动)时,我收到此错误消息:
Chrome 23.0 registration: should delete all cookies when user clicks on "remove all" button FAILED
browser navigate to 'http://localhost:6543/'
/home/abourget/myapp/jstests/scenarios/registration_scenario.js:9:5: Sandbox Error: Application document not accessible.
所以我理解浏览器不提供对iframe文档的访问权限,因为它是一些跨域违规.
我尝试了什么:
>使用Testacular网络服务器(使用代理选项)访问我的应用程序,但/会与Testacular自己的框架服务冲突.此外,两个应用程序最终都会尝试使用/socket.io,这也会发生冲突.
>反过来(调整我的应用程序代理到Testacular的服务器),但是,我们会遇到与/socket.io相同的问题.
感谢这些伟大的工具,顺便说一句!
解决方法:
而不是拥有
beforeEach(function() {
browser().navigateTo('http://localhost:6543/');
});
将此更改为
beforeEach(function() {
browser().navigateTo('/');
});
然后在你的testacular-e2e.conf.js文件中添加:
proxies = {
'/': 'http://localhost:6543/'
};
您可能还有其他问题,但我可以重现“沙箱错误:应用程序文档无法访问”.只有Pyramid Hello World App和此配置问题的消息.
标签:javascript,angularjs,jasmine,karma-runner 来源: https://codeday.me/bug/20190729/1570139.html