使用maven运行groovy脚本时出现以下错误:
注册测试快乐路径(SignUpPageSpec):所需的页面内容 ' usernamefield - SimplePageContent(所有者:JiraSignupPage,args:[], value:null')不存在。
任何人都可以帮我解决此错误。以下是脚本:
JiraSignUpPage.groovy
package test.groovy.script
import geb.Page;
//import main.groovy.script.*;
class JiraSignupPage extends Page
{
static url = "/vcty-jira"
static at = { title == "System Dashboard - Velocity Jira" }
static content = {
usernamefield { $("input#login-form-username") }
passwordfield { $('input#login-form-password') }
submitButton(to: JiraSignUpResultPage) { $('button#login-form-submit') }
}
}
JiraSignUpResultPage.groovy
package test.groovy.script
import geb.Page;
public class JiraSignUpResultPage extends Page
{
static url = "/jira/secure/Dashboard.jspa"
static at = { title == "Amit - Jira Tracker" }
}
SignUpPageSpec.groovy
import spock.lang.Stepwise;
import geb.spock.GebReportingSpec;
import geb.Page;
//import main.groovy.script.*;
import test.groovy.script.*;
@Stepwise
public class SignUpPageSpec extends GebReportingSpec {
def "Signup Test Happy Path"() {
given: "I'm at the sign up form"
to JiraSignupPage
when: "I signup as a valid user"
usernamefield = "xyz"
passwordfield = "xyz"
submitButton.click()
then: "I'm at the result page"
at JiraSignUpResultPage
}
}
GebConfig.groovy
import org.openqa.selenium.firefox.FirefoxDriver
import geb.waiting.*;
driver = { new FirefoxDriver() }
baseUrl = "http://172.17.48.65:8080/"
reportsDir = new File("target/geb-reports")
reportOnTestFailureOnly = true
waiting {
timeout = 20
retryInterval = 0.5
}
我正在运行mvn.test来运行这些测试。它会导致浏览器打开但最终会出错。
答案 0 :(得分:0)
该错误告诉您,您的usernamefield
内容定义返回了一个空导航器 - 在您导航到的页面上找不到ID为login-form-username
的输入。
答案 1 :(得分:0)
可能您的页面未完全加载。
尝试将usernamefield.displayed
添加到'at'块
或者将“等待”添加到页面元素
usernamefield(wait: true) { $("input#login-form-username") }