量角器:使用浏览器或browser.driver方法?

时间:2016-12-21 05:22:03

标签: node.js protractor

使用protractor时,全局变量browser似乎具有browser.driver的所有功能。

我特别提出这个问题,因为我不确定是使用browser.wait还是browser.driver.wait,因为它们看起来都是相同的方法,而且我也看到了很多{{1} browser.driver(如果不是全部)中提供了方法。

那么调用这些方法的推荐方法是什么browserbrowser.method

2 个答案:

答案 0 :(得分:6)

理论上区别很简单:如果这是一个正在测试的Angular应用程序 - 使用浏览器,否则 - browser.driver。

更多关于这个故事:

量角器包裹WebDriverJS - javascript selenium绑定 - 作为其中包含selenium驱动程序对象本身的一部分,让您通过browser.driver访问纯WebDriverJS驱动程序。

除了其他内容之外,请看一下这个相关主题:

答案 1 :(得分:4)

有些浏览器方法是相同的......

浏览器对象由WebDriver方法和Protractor特定方法的组合构成。因此,sleepwaitgetCurrentUrl等方法会从WebDriver中复制(请参阅browser.ts)。那么您应该使用browser还是browser.driver?好吧,如果它列在上面的链接中,它们就完全相同了。

某些浏览器方法不是......

然而,并非每个方法都被复制过来。对于get等方法,浏览器在Protractor vs selenium-webdriver中的实现方式不同。对于Angular页面,您应该使用browser.get。在转移到其他命令之前,这将等待Angular保持稳定。

如有疑问,请查看文档

因此,当您导航到protractortest.org/#/api时,您将看到一个browser方法列表,这些方法是特定于Protractor的并且是“从webdriver.WebDriver继承的”。如果您决定使用browserbrowser.driver,则“继承自webdriver.WebDriver”后面的方法是相同的方法。