Protractor: Protractor browser.sleep () не выполняется.

Созданный на 1 июл. 2016  ·  3Комментарии  ·  Источник: angular/protractor

Как видно ниже, 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);

Все 3 Комментарий

@ gamecheck80 удалите одинарные кавычки в

// use like this
browser.sleep(35000);

Действительно быстро для уточнения: browser.sleep возвращает обещание. Присмотревшись к этому внимательно:

  • browser.sleep вызывает webdriver.sleep
  • webdriver.sleep вызывает поток управления для выполнения тайм-аута
  • timeout вызывает задержку, которая в конце вызывает метод setTimeout, и это может быть строка, если эта строка является числом.

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 не работает, по крайней мере, это то, что я вижу

Была ли эта страница полезной?
0 / 5 - 0 рейтинги