有人能告诉我量角器中SELENIUM_PROMISE_MANAGER
,browser.ignoreSynchronization
和browser.waitForAngularEnabled()
有什么区别吗?
谢谢
答案 0 :(得分:2)
1)SELENIUM_PROMISE_MANAGER
SELENIUM_PROMISE_MANAGER
是用于启用/禁用量角器自身的控制流(承诺)实现的开关。在ES6之前,javascript不提供本机的Promise API,并且量角器自己实现Promise和Promise管理(称为控制流)。
现在,ES6支持本地承诺API和通过await/async
进行承诺管理,并且量角器打算更改其代码以使用本地承诺。这样SELENIUM_PROMISE_MANAGER
就出来了。
2)browser.ignoreSynchronization
和browser.waitForAngularEnabled()
两者都切换以告诉量角器browser.get()
是否检测到打开的页面是否为角形页面。 browser.ignoreSynchronization
在早期版本中进行了介绍,它也可以在高版本量角器上使用。
browser.waitForAngularEnabled()
是在较高版本中引入的,不能在较低版本的量角器上使用。
今后将使用browser.waitForAngularEnabled()
这个想法。
&browser.ignoreSynchronization`已弃用。
文档:http://www.protractortest.org/#/api?view=ProtractorBrowser.prototype.waitForAngularEnabled