我在http://localhost:6543
上运行了一个应用程序 - 它是一个金字塔应用程序。
问题是:是否可以使用这些工具测试该应用程序?
我在scenario.js
文件中有这个:
beforeEach(function() {
browser().navigateTo('http://localhost:6543/');
});
但是当我启动testacular(使用run
或start
)时,我收到此错误消息:
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
的文档,因为它会违反跨域原因。
我尝试了什么:
proxies
选项)访问我的应用,但/
会与Testacular自己的框架服务冲突。此外,这两个应用最终都会尝试使用/socket.io
,这也会发生冲突。/socket.io
相同的问题。感谢这些出色的工具,顺便说一句!
答案 0 :(得分:5)
而不是
beforeEach(function() {
browser().navigateTo('http://localhost:6543/');
});
将此更改为
beforeEach(function() {
browser().navigateTo('/');
});
然后在你的testacular-e2e.conf.js文件中添加:
proxies = {
'/': 'http://localhost:6543/'
};
您可能还有其他问题,但我可以重现"沙盒错误:应用程序文档无法访问。"仅包含Pyramid Hello World App和此配置问题的消息。
答案 1 :(得分:2)
我们遇到了类似的问题,并且已经有代理和navigateTo('/')。我们需要添加一些urlRoot以避免在加载socket.io时发生冲突。我们只是添加'/ e2e',这足以解决冲突。实际上,在针对此问题运行testacular时会出现警告消息。