我正在写一些Protractor测试,但我遇到了麻烦。在Chrome上运行测试时,我的测试全部通过。当我在Firefox上运行测试时,我发现页面没有在测试之间重新加载。 (这会弄乱页面状态并导致测试失败。)
我现在正在使用的解决方法是在“获取”页面后刷新,但这很愚蠢。
这是我的beforeEach:
beforeEach(function() {
ptor = protractor.getInstance();
ptor.ignoreSynchronization = true;
browser.get('#/page');
// I need this to get my Firefox tests to work
browser.navigate().refresh();
});
我可以做些什么来更好地处理这个问题?
如果我每次都要刷新页面,是否有if(firefox)
这样的条款我可以使用?
我正在成功运行Chrome 34.0.1847(Mac OS X 10.9.1),而Firefox 28.0.0(Mac OS X 10.9)则给我带来了麻烦。
答案 0 :(得分:0)
关闭同步后,所有量角器都在浏览器上执行.get(url)为driver.get(destination);
,因此完全取决于浏览器以确定它是如何加载网址的。
另一方面,在同步开启的情况下,量角器首先加载空白页面,然后重新导航到预期的URL。
此外,对于firefox,在localhost上重新加载相同的角度网址不会重新加载页面,而对于chrome则会重新加载。试一试:转到localhost上的角应用程序,输入内容并再次加载URL。对于chrome,这将清除你输入的内容,但对于firefox,它不会。
如果您的应用是Angular
,请启用同步@AndresD