Я запускаю простой тест Geb, например:
class IndexPage extends Page {
//static url = "http://localhost:8080/sampleGrailsApp"
static at = { title == "sampleGrailsApp" }
static content = {
signInButton { $("div", 0, class: "container-fluid").find("button", 0) }
modalFooterSignInButton(wait: true, to: MyPage) { $("footer", 0, class: "modal-footer").find("input", 0, class: "btn-primary") }
modalFooterUsernameInput { $("form").username = it }
modalFooterPasswordInput { $("form").password = it }
signIn { username, password ->
signInButton.click()
waitFor { modalFooterSignInButton.present }
modalFooterUsernameInput username
modalFooterPasswordInput password
modalFooterSignInButton.click()
}
}
}
В моем тесте страница называется следующим образом:
def "sigin"() {
given: "User is at index page"
at IndexPage
when: "User signs in"
signIn "username","password"
then: "Goes to MyPage"
at MyPage
}
В некоторых случаях modalFooterSignInButton.click() происходит до того, как имя пользователя введено полностью, поэтому тест не проходит. Кто-нибудь сталкивался с этим раньше? Как дождаться завершения ввода, прежде чем активируется щелчок? Я использую Геб 0.9.2.
Заранее спасибо.