量角器实例与浏览器

Tek*_*Tek 26 browser testing angularjs-e2e protractor

我试图寻找类似的质量保证,但我找不到满足我的.所以基本上我在一些例子中看到它被使用了

ptor = protractor.getInstance();
ptor.get(url);
Run Code Online (Sandbox Code Playgroud)

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

browser.get(url);
Run Code Online (Sandbox Code Playgroud)

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

PS我也看到了调试器使用方面的相同差异.我知道量角器是Web驱动程序的包装器,我认为protractor.getInstance().get(url)是browser.get(url)的隐式invocatin.

And*_*s D 38

浏览器是新的首选语法.browser是一样的protractor.getInstance().

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

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

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


gon*_*ard 5

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

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

protractor.setInstance(browser);
Run Code Online (Sandbox Code Playgroud)

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

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

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