1

以下は私のページと仕様です。の値を入力できます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
}
4

1 に答える 1

2

Gebメーリングリストから回答を得ました。みんなの利益のためにここに投稿してください。

これは少し紛らわしいですが、マニュアルのこのセクションは「フォームコントロールショートカット」の一部です。つまり、フォームコンテンツ要素でのみ機能します。フォームにname=lastName入力要素があるとすると、これは機能します。

newApplicationForm.lastName = 'value'

ただし、を使用してフォームの入力要素を手動で選択する場合は機能しません$/find

于 2012-03-28T12:37:49.540 に答える