Подтвердить что ты не робот

Экземпляр экстраватора против браузера

Я попытался найти аналогичный QA, но я не мог найти его, чтобы удовлетворить меня. Поэтому в основном я увидел, что в некоторых примерах он использовал

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

И в некоторых других примерах, которые он использовал.

browser.get(url);

Итак, вопрос: какая разница с использованием экземпляра protractor и браузера для получения определенного URL-адреса? Также, если мое предположение в P.S. правильно, что лучше: использовать только транспортир или смешивать их?

P.S. Также я видел такую ​​же разницу в использовании с отладчиком. Я знаю, что транспортир является оболочкой над веб-драйвером, и я предполагаю, что protractor.getInstance(). Get (url) - это неявный invocatin browser.get(url).

4b9b3361

Ответ 1

браузер - это новый, предпочтительный синтаксис. browser совпадает с protractor.getInstance().

Несколько версий назад был добавлен новый синтаксис. Основные изменения:

  • browser - экземпляр транспортира.
  • element(locator) - новый синтаксис для ptor.findElement(locator)
  • by[strategy] - новый синтаксис protractor.By.[strategy]

Вот новая документация: http://angular.github.io/protractor/#/api

Ответ 2

Вы можете в исходный код транспортира, чтобы экземпляр single-browser и экземпляр protractor были одним и тем же объектом.

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

Мое предпочтение заключается в том, чтобы всегда использовать экземпляр одиночного экземпляра транспортира. Но я думаю, что нет никакого неудобства для использования браузера экземпляра или того и другого.