2016-04-07 2 views
2

Я пытаюсь проверить, что появляется сообщение рычания после ввода действительного адреса электронной почты и нажатия кнопки отправки.Проталкиватель (для проверки углового рычания), проходящий/несовместимый непоследовательно

Я знаю, что есть функциональность, потому что я вижу, что сообщение рычания появляется, когда работает webdriver. Проблема заключается в том, чтобы зафиксировать сообщение рычания в тесте.

Я попытался поставить forgotPasswordPage.submitButton.click() как снаружи (раньше), так и внутри функции browser.wait. У нас есть наш рычание, настроенное для отображения сообщений в течение 4 с, так что я получил время ожидания. Я ищу способ сделать этот тест более надежным, и в идеале я смог бы протестировать текст, который на самом деле находится внутри сообщения рычания, но сначала первое.

it('should display green growl message if user email does exist', function(){ 
    // uses testUsers[0] 
    forgotPasswordPage.emailInput.sendKeys(testUsers[0].email); 

    browser.wait(function() { 
     forgotPasswordPage.submitButton.click(); 
     return element(by.css('.alert-success')).isPresent() 
    }, 4000) 
    .then(function(growlMessageIsPresent){ 
     expect(growlMessageIsPresent).toBeTruthy(); 
    }) 
    .then(null, function(err) { 
     console.log('error', err) 
     expect(err).not.toBeTruthy(); 
    }) 
}) 

ответ

2

У нас была аналогичная проблема, пытаясь поймать статусное сообщение, которое появилось в течение нескольких секунд, а затем исчез, что мы должны были подойти поворота Транспортир-к-Угловая синхронизация от временно:

browser.ignoreSynchronization = true; 
+0

Связанная проблема https://github.com/angular/protractor/issues/169. В итоге - нет реального решения, кроме одного выше. – niaher

 Смежные вопросы

  • Нет связанных вопросов^_^