Как видно ниже, browser.sleep должен выполняться, если клиент XYZ, но он все еще не запускается. Если я помещаю какой-либо console.log после оператора browser.sleep, этот оператор выполняется (я вижу оператор), но browser.sleep на самом деле не ждет, даже несмотря на то, на сколько время сна я увеличиваю.
Почему не работает browser.sleep? Как заставить его ждать, если клиент XYZ?
if (testproperties.client == 'ABC'){
browser.ignoreSynchronization = false;
browser.waitForAngular();
browser.ignoreSynchronization = true;
}
else if (testproperties.client == 'XYZ'){
browser.sleep('35000');
};
@ gamecheck80 удалите одинарные кавычки в
// use like this
browser.sleep(35000);
Действительно быстро для уточнения: browser.sleep возвращает обещание. Присмотревшись к этому внимательно:
browser.sleep ('35000') - допустимый ввод.
Поскольку browser.sleep возвращает обещание, будет казаться, что он работает, только если вы дождетесь завершения обещания.
describe('browser', function() {
it('should sleep', function() {
browser.get('http://angularjs.org');
// does not work
// browser.sleep(10000);
// console.log('waited 10 seconds?');
// this does not work and "waited 10 seconds?" appears immediately after navigating
// after sleeping then print "waited 10 seconds"
browser.sleep(10000).then(function() {
console.log('waited 10 seconds');
});
});
});
Надеюсь, это поможет. Для получения дополнительной помощи задавайте свои вопросы в службу поддержки в списке обсуждения группы Google или Gitter . Для получения дополнительной информации перейдите по ссылке https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions.
Спасибо!
browser.sleep (10000) .then (function () {
console.log ('подождал 10 секунд');
});
Использование этого с Angular 6 и транспортиром версии 5.4.1 не работает, по крайней мере, это то, что я вижу
Самый полезный комментарий
@ gamecheck80 удалите одинарные кавычки в