如何加载页面而不在量角器中重新加载它

时间:2016-07-01 09:49:14

标签: protractor

在使用量角器进行e2e测试时,需要加载页面。我尝试browser.get,但是重新加载页面导致缓存清除。获取ERROR为

失败:在缓存中找不到元素 - 自查找以来页面可能已更改

如何加载页面而不在量角器中重新加载?

2 个答案:

答案 0 :(得分:9)

如果您对角度应用中的路由提出疑问,则可以尝试使用browser.setLocation()

browser.get('http://angular.github.io/protractor/#/tutorial');
browser.setLocation('api');
// You now will be in http://angular.github.io/protractor/#/api without any page reload

参考:Protractor API browser.setLocation

答案 1 :(得分:2)

在导航到您请求的页面之前,量角器的browser.get将始终导航到RESET_URL=data:text/html, <html></html>。有几种方法可以解决这个问题:

browser.driver.get(url)将使用webdriver native命令,并绕过量角器的重置URL。如果您在角度页面上使用此路线,则需要在命令前添加waitForAngular(),以便在导航到新页面之前等待原始页面结算。

测试中的

browser.ignoreSynchronization = true基本上会将browser.get变为browser.driver.get并绕过重置网址。这里的缺点是你的整个测试现在都会忽略角度同步。

资料来源:protractor / lib / protractor.js