1
다음과 같은 spock 테스트가 있습니다. 먼저 로그인 페이지로 이동 한 다음 이메일과 비밀번호를 입력하지 않고 로그인 버튼을 클릭하여 오류 메시지를 확인합니다. 나중에 이메일과 같은 다른 단계를 추가 하겠지만 암호가 틀리거나 암호가 틀린 전자 메일을 보내야하지만이 테스트를 먼저 수행해야합니다. groovy.lang.MissingPropertyException을 보여주는 스팍 테스트
package loginPageTests
import Pages.loginPage
import geb.Page
import geb.spock.GebReportingSpec
class invalidLoginSpec extends GebReportingSpec {
def "Go to login page"() {
when:
Page loginPage = to loginPage
waitFor { loginPage.loginButton.isDisplayed() }
then:
at loginPage
}
def "Try to log in without email or password"() {
when:
loginPage.loginButton.click()
then:
at loginPage
assert loginPage.loginError.text() == "Please enter your email and password."
}
}
그리고 다음 페이지 객체
package Pages
import geb.Page
class loginPage extends Page {
static url = 'login/'
static at = { title == "Login to TB"}
static content = {
loginButton {$("#loginButton")}
loginError(wait:true) {$("#loginError")}
}
}
첫 번째 방법은 성공적으로 실행되지만 두 번째 방법은
groovy.lang.MissingPropertyException을 실행하려고 할 때이 오류를 얻을 : 없음 그러한 속성 : LoginButton 클래스 : Pages.loginPage
loginButton 속성이 loginPage 페이지 개체에 있으므로이 오류가 발생하는 이유를 모르겠습니다.
클래스에는 일반적인 낙타 케이스를 사용하십시오. 'LoginPage'와'InvalidLoginSpec'을 사용하십시오. 당신이하려고하는 것을'@ Stepwise'로 들여다 볼 수도 있습니다. –