【问题标题】:Protractor instance vs browser量角器实例与浏览器
【发布时间】:2014-09-07 11:41:51
【问题描述】:

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

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

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

browser.get(url);

所以问题是:使用量角器实例和浏览器获取特定 url 有什么区别? 另外,如果我在 P.S. 中的假设是的,哪个是更好的做法:只使用量角器,还是混合它们?

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

【问题讨论】:

    标签: testing browser protractor angularjs-e2e


    【解决方案1】:

    浏览器是新的首选语法。 browserprotractor.getInstance() 相同。

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

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

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

    【讨论】:

    • ptor 实际上是一个浏览器实例。 (protractor.getInstance() === browser)true
    • 谢谢!解释了很多,所有教程都使用旧语法,很高兴我检查了:)
    【解决方案2】:

    您可以在the protractor source code 中认为浏览器和量角器单例实例是同一个对象。

    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));
        ...
      });
    });
    

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

    【讨论】:

    • 干杯伙伴,这说明了很多。
    • 没问题。我没有得到你的调试器问题。
    猜你喜欢
    • 2020-09-04
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多