Geb If Else или попробуйте уловить обработку - PullRequest
1 голос
/ 14 февраля 2020

Я новичок в тестировании разговоров Geb, и у меня есть тест, который отправляет сообщение и получает текст или электронное письмо, у меня есть вызов API, который захватывает отправленное письмо / текст, мне нужно использовать этот ответ и продолжить тестирование пользовательского интерфейса , но этот ответ истек, так как API работает быстро, и он получает предыдущее отправленное сообщение, которое (до того, как мой пользователь отправит это электронное письмо / текст) и последнее отправленное, делает предыдущий истекшим. поэтому мой вопрос заключается в том, что мне нужно снова вызвать этот API, если срок действия сообщения истек, я попробовал методы if else и waitFor, но не смог найти решение, я использую объекты страницы и тестовые спецификации и не могу создать его как метод, поскольку происходит на одной странице и в одном классе определения и что я даже не могу сделать waitFor в моем тестовом классе, что приводит к IllegalMonitorStateException

when: "I enter text code"
String text = response.getText()
testPage.enterCode << text
testpage.pager.clickNext() // here is happening the code expiration and couldn't get to the next page,

then: "I am in next page"
at nextPage // if am not on the next page I need to make a new api call to get the newest response

Я пытался

when: "I enter text code"
String text = response.getText()
testPage.enterCode << text
testpage.pager.clickNext() 
def erroHappened = testPage.errorAlert.isdisplayed

then: "I am in next page"
!errorHappened && testPage.enterCode << response.getText()

Как я могу использовать ожидание или попробуйте поймать или, если еще, чтобы решить эту проблему, заранее спасибо

...