2017-12-05 1 views
1

次のSpockテストがあります。私はまずログインページに行きます。その後、エラーメッセージを確認するためにメールとパスワードを入力せずにログインボタンをクリックしています。私は後で電子メールなどの他のステップを追加しますが、パスワードとパスワードが間違っているメールはありませんが、まずこのテストを行う必要があります。 groovy.lang.MissingPropertyExceptionを表示している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")} 
    } 
} 

最初のメソッドが正常に動作しますが、第2の方法は

groovy.lang.MissingPropertyExceptionを実行しようとしたとき、私はこのエラーを取得する:いいえそのようなプロパティ:LoginButton クラス:Pages.loginPage

プロパティloginButtonがloginPageページオブジェクトにあるため、このエラーがなぜ発生しているのかわかりません。

+0

クラスには通常のラクダケースを使用してください。 'LoginPage'と' InvalidLoginSpec'です。あなたは何をしようとしているのかを '@ Stepwise'で調べることができます。 –

答えて

1
あなたが最初のテスト方法の内のローカル変数として loginPageを定義した後、内部のそれを参照しようとしてい

ページと対話する方法は、非慣用的であるが、尋ねた質問に答えるために...それが範囲外である第2の試験方法のうちの1つである。

関連する問題