我已经开始为量角器编写测试用例,并且我发现了browser.wait方法,它允许等待某些条件得到满足。有时我可以在代码片段中看到browser.driver.wait而不是browser.wait。
有什么关系?
我一直在寻找答案,但我只在量角器中找到了sleep和wait的区别。
下面是我的配置(我使用cucumber框架):
"protractor": "5.4.1",
"protractor-cucumber-framework": "6.1.1",
"cucumber":"5.0.2"发布于 2019-06-21 23:40:23
答案将取决于您的量角器版本。
当我写测试用例时,Protractor本质上实现了一个队列来保存异步任务。但是这个队列只保存来自Protractor的异步任务(比如:element(by.partialLinkText('Doge')).click(), etc),并且每个任务一个接一个地运行。在编写browser.wait()时,您可能会将等待添加到Protractor队列中,但是通过browser.driver.wait(),您可以直接访问selenium驱动程序,并且任务不会进入队列。这意味着driver.wait()在执行自身之前不会等待队列中的前一个任务执行。
我不相信当前版本的Protractor仍然有队列,它促进了async/await的使用,如果没有队列,一个比另一个有什么好处,但尽管如此,当我们使用任何与driver相关的东西时,这意味着我们正在直接访问selenium driver API。
https://stackoverflow.com/questions/56701441
复制相似问题