【发布时间】:2017-12-05 17:17:24
【问题描述】:
我有以下 spock 测试。我首先进入登录页面,然后在不输入电子邮件和密码的情况下单击登录按钮以验证错误消息。稍后我将添加其他步骤,例如电子邮件但没有密码和密码错误的电子邮件,但我首先需要让这个测试工作。
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以了解您正在尝试做的事情。