以下是我的页面和规格。我可以输入firstName
的值,但我收到lastName
的以下错误。我想我们可以使用'='运算符根据Geb doc http://www.gebish.org/manual/current/navigator.html#text_inputs_and_textareas
geb.error.UnresolvablePropertyException: Unable to resolve lastName as a property to set on NewConsumerApplicationPage's Navigator context
at geb.content.NavigableSupport.propertyMissing(NavigableSupport.groovy:141)
at geb.Browser.propertyMissing(Browser.groovy:182)
at geb.spock.GebSpec.propertyMissing(GebSpec.groovy:59)
at WorkItemSpec.Create workitem(WorkItemSpec.groovy:32)
网页
class NewConsumerApplicationPage extends Page
{static content =
{
newApplicationForm
{ $("form", id: "newApplicationConsumerForm") }
firstName
{newApplicationForm.find("input", id: "newApplication_primaryApplicant:consumerIdentification:firstName")}
lastName
{newApplicationForm.find("input", id: "newApplication_primaryApplicant:consumerIdentification:lastName")}
submitButton
{
$("button", id: "newConsumerApplication_submit")
}
}
}
规格
def "Create workitem"()
{
given : "I am successfully logged into the application"
to NewConsumerApplicationPage
when:
firstName.value "CCERASTOSTIGMA"
lastName = "PAULA"
submitButton.click()
then :
at ApplicationSummaryPage
}
答案 0 :(得分:2)
我从Geb邮件列表中得到了答案。发布在这里为每个人的利益。
这有点令人困惑,但本手册的这一部分是其中的一部分
“表单控件快捷方式”,即它仅适用于表单内容
元件。假设您的表单有一个name=lastName
输入元素,这个
会工作:
newApplicationForm.lastName = 'value'
但是,当手动选择a的输入元素时,它不起作用
使用$/find
形成表单。