Я пытаюсь понять, как работает The WebDriver Control Flow.Нужен ли огурец с транспортиром обратный вызов?
Согласно связанной документации (https://github.com/angular/protractor/blob/master/docs/control-flow.md) нет обратного вызова метода/вызова не требуется в жасмин:
Protractor adapts Jasmine so that each spec automatically waits until the control flow is empty before exiting.
Однако, я должен использовать огурец. Я использую библиотеку protractor-cucumber-framework
, как описано здесь: https://github.com/angular/protractor/blob/master/docs/frameworks.md#using-cucumber
Это работает хорошо, но по какой-то причине оно работает лучше, когда я пропускаю переменную обратного вызова, а затем, когда я пытаюсь ее использовать. Например, этот код не:
this.Given(/^the login page is active$/, function (callback) {
browser.get('/').then(callback);
});
С ошибкой ...
TypeError: text.split is not a function
[launcher] Process exited with error code 1
С другой стороны, эти коды работает, как я хочу, чтобы работать и огурец/транспортир, кажется, не будет ждать, пока страница загружается, перед выполнением дальнейших функций:
me.Given(/^the login page is active$/, function() {
browser.get('/');
});
Но я не мог найти какую-либо документацию, подтверждающую, что я действительно могу опустить функцию обратного вызова.
В настоящее время страница, которую я пытался испытание не использовать Угловой и поэтому у меня есть следующий код в моем файле конфигурации:
onPrepare: function() {
browser.ignoreSynchronization = true;
}
Очень подробный обзор, замечательная работа! – alecxe
Спасибо @alecxe – nilesh
Thx, у меня есть версия '^ 0.9.4' - я только что настроил систему вчера, чтобы она была последней. Сегодня я напишу больше тестов и попробую вернуть обещания - thx – peter