Protractor 如何在不在量角器中重新加载页面的情况下加载页面

Protractor 如何在不在量角器中重新加载页面的情况下加载页面,protractor,Protractor,在使用量角器进行e2e测试时,需要加载页面。我尝试了browser.get,但这会重新加载页面,导致缓存清除。获取错误为 失败:在缓存中找不到元素-可能页面在查找后已更改 如何在不在量角器中重新加载页面的情况下加载页面?如果您的问题是关于角度应用程序中的路由,那么您可以尝试使用浏览器.setLocation() 参考:量角器的浏览器。get在导航到您请求的页面之前,将始终导航到RESET\u URL=data:text/html,。有两种方法可以解决这个问题: browser.driver.ge

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

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


如何在不在量角器中重新加载页面的情况下加载页面?

如果您的问题是关于角度应用程序中的路由,那么您可以尝试使用
浏览器.setLocation()


参考:

量角器的
浏览器。get
在导航到您请求的页面之前,将始终导航到
RESET\u URL=data:text/html,
。有两种方法可以解决这个问题:

browser.driver.get(url)
将使用webdriver本机命令,并绕过量角器的重置url。如果在有角度的页面上执行此操作,则需要在命令之前添加一个
waitForAngular()
,以便在导航到新页面之前等待原始页面稳定下来

测试中的
browser.ignoreSynchronization=true
基本上将
browser.get
转换为
browser.driver.get
并绕过重置url。这里的缺点是,您的整个测试现在将忽略角度同步

来源:dragrator/lib/dragrator.js

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