Ich habe den folgenden Spock-Test. Ich gehe zuerst zur Login-Seite und klicke dann auf den Login-Button, ohne eine E-Mail und ein Passwort einzugeben, um die Fehlermeldung zu bestätigen. Ich werde später weitere Schritte wie E-Mail, aber kein Passwort und E-Mail mit falschem Passwort hinzufügen, aber zuerst muss ich diesen Test zum Laufen bringen.Spock-Test zeigt 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."
}
}
und die folgende Seite Objekt
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")}
}
}
Die erste Methode erfolgreich läuft, aber ich bekomme diese Fehlermeldung, wenn die zweite Methode versucht
groovy.lang.MissingPropertyException auszuführen: Nein eine solche Eigenschaft: loginButton für Klasse: Pages.loginPage
Die Eigenschaft loginButton befindet sich im Seitenobjekt loginPage, weshalb ich nicht sicher bin, warum dieser Fehler auftritt.
Bitte verwenden Sie normale Kamel Fall für Klassen, z. 'LoginPage' und' InvalidLoginSpec'. Vielleicht möchten Sie in '@ Stepwise' nachsehen, was Sie zu tun versuchen. –