我已经开始为量角器编写测试用例,并且发现了browser.wait
方法,该方法可以等待直到满足某些条件。有时我可以在代码段中看到browser.driver.wait
而不是browser.wait
。
有什么区别?
我一直在寻找答案,但我只发现量角器中sleep
和wait
之间的区别。
这里是我的配置(我使用黄瓜框架):
"protractor": "5.4.1",
"protractor-cucumber-framework": "6.1.1",
"cucumber":"5.0.2"
答案 0 :(得分:1)
答案将取决于您的量角器版本。
当我编写测试用例时,量角器固有地实现了一个队列来保存异步任务。但是此队列仅容纳来自量角器的异步任务(例如:element(by.partialLinkText('Doge')).click(), etc
),并且每个任务都一个接一个地运行。当您编写browser.wait()
时,您可能正在将等待添加到量角器队列中,但是通过browser.driver.wait()
您将直接访问selenium驱动程序,并且该任务不会进入队列。这意味着driver.wait()
在执行自身之前不会等待队列中的先前任务执行。
我不认为当前版本的量角器仍然存在队列,它会促进async/await
的使用,如果没有队列,那么当我们使用时,一个人比另一个人有什么好处?与driver
相关的任何事物都意味着我们正在直接访问Selenium驱动程序API。