Protractor instance vs browser

假如想象 提交于 2020-01-01 01:12:06

问题


I have tried to looked up for similar QA's but i couldn't find one to satisfy me. So basically i saw that in some examples it's used

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

And in some other examples it's used.

browser.get(url);

So th question is: What's the difference using protractor instance and browser for getting specific url? Also if my assumption in the P.S. is right, which is better practice: to use only protractor, or to mix them?

P.S. Also i saw same difference in usage with the debugger. I know that protractor is a wrapper over web driver and i assume that protractor.getInstance().get(url) is a implicit invocatin of browser.get(url).


回答1:


browser is the new, preferred syntax. browser is the same as protractor.getInstance().

A few versions ago a new syntax was introduced. The major changes were:

  • browser is a protractor instance
  • element(locator) is the new syntax for ptor.findElement(locator)
  • by[strategy] is the new syntax for protractor.By.[strategy]

Here is the new documentation: http://angular.github.io/protractor/#/api




回答2:


You could in the protractor source code that the browser and the protractor singleton instance are the same object.

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

protractor.setInstance(browser);

You could also verified that assertion in one your test :

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

My preference is to always use the protractor singleton instance. But i think there isn't any inconvenient to use the instance browser or both.



来源:https://stackoverflow.com/questions/21526954/protractor-instance-vs-browser

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!