编程语言
首页 > 编程语言> > javascript – 如何使用Testacular AngularJS测试外部服务的应用程序

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