Невозможно получить сообщение о рычании, если у нас есть интервал, чтобы скрыться через 5 секунд.

Я пишу тестовые примеры в транспортире E2E. Я хочу, чтобы когда я запускаю дело и когда я нажимаю «Сохранить», отображалось сообщение Growl с успехом или ошибкой.

this.growlMessage = function () {
    return element(by.css("div[ng-bind='message.text']")).getText();
}

Теперь я могу получить сообщение, если у нас есть ошибка, потому что оно остается там, пока оно закрыто. Но сообщение об успехе автоматически исчезает через некоторое время. В Protractor кейс продолжает ждать, пока исчезнет Growl, а затем выполнить следующее выполнение. Я думаю, что транспортир ждет рычания, чтобы закончить свою работу.

Как мы можем дождаться этого и получить текст?


person Rashmi Chauhan    schedule 25.02.2015    source источник


Ответы (1)


Используйте browser.wait(), чтобы дождаться рычания. Вот как вы можете это сделать- browser.wait(function(){ return element(by.css("div[ng-bind='message.text']")).isPresent();//wait for the growl to appear },10000).then(function(){//waiting 10 seconds for the growl to appear expect(element(by.css("div[ng-bind='message.text']")).getText()).toBe("Expected growl text"); })

Сложность здесь в том, что этот конкретный фрагмент кода должен начать работать до того, как начнется рычание, и ожидается, что он появится в течение следующих 10 секунд (для этого конкретного сценария).

person Rahul Vig    schedule 27.02.2015