27

我试图寻找类似的 QA,但我找不到一个让我满意的。所以基本上我看到在一些例子中它被使用了

ptor = protractor.getInstance();
ptor.get(url);

在其他一些例子中,它被使用了。

browser.get(url);

所以问题是:使用量角器实例和浏览器获取特定网址有什么区别?此外,如果我在 PS 中的假设是正确的,那么更好的做法是:只使用量角器,还是混合它们?

PS我也看到了与调试器在使用上的相同差异。我知道量角器是 web 驱动程序的包装器,我假设量角器.getInstance().get(url) 是 browser.get(url) 的隐式调用。

4

2 回答 2

39

browser 是新的首选语法。browser是一样的protractor.getInstance()

几个版本前引入了一种新语法。主要变化是:

  • browser是量角器实例
  • element(locator)是新的语法ptor.findElement(locator)
  • by[strategy]是新的语法protractor.By.[strategy]

这是新文档:http ://angular.github.io/protractor/#/api

于 2014-02-03T21:16:29.097 回答
5

您可以在量角器源代码中认为浏览器和量角器单例实例是同一个对象。

var browser = protractor.wrapDriver(
    driver,
    config.baseUrl,
    config.rootElement);
browser.params = config.params;

protractor.setInstance(browser);

您还可以在您的测试中验证该断言:

describe('My page', function() {
  it('should display something', function() {
    console.log('test ' + (protractor.getInstance() === browser));
    ...
  });
});

我的偏好是始终使用量角器单例实例。但我认为使用实例浏览器或两者都没有任何不便。

于 2014-02-03T13:38:44.370 回答