在使用量角器进行e2e测试时,需要加载页面。我尝试browser.get
,但是重新加载页面导致缓存清除。获取ERROR为
失败:在缓存中找不到元素 - 自查找以来页面可能已更改
如何加载页面而不在量角器中重新加载?
答案 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
答案 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