Экземпляр экстраватора против браузера
Я попытался найти аналогичный QA, но я не мог найти его, чтобы удовлетворить меня.
Поэтому в основном я увидел, что в некоторых примерах он использовал
ptor = protractor.getInstance();
ptor.get(url);
И в некоторых других примерах, которые он использовал.
browser.get(url);
Итак, вопрос: какая разница с использованием экземпляра protractor и браузера для получения определенного URL-адреса?
Также, если мое предположение в P.S. правильно, что лучше: использовать только транспортир или смешивать их?
P.S. Также я видел такую же разницу в использовании с отладчиком.
Я знаю, что транспортир является оболочкой над веб-драйвером, и я предполагаю, что protractor.getInstance(). Get (url) - это неявный invocatin browser.get(url).
Ответы
Ответ 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));
...
});
});
Мое предпочтение заключается в том, чтобы всегда использовать экземпляр одиночного экземпляра транспортира. Но я думаю, что нет никакого неудобства для использования браузера экземпляра или того и другого.