我正在使用Geb / Spock和Selenium进行简单的GUI测试。
我的规格:
class MySpecSpec extends LoggedInSpec {
def "My criteria here"() {
given: "Starting at the unit search entry page"
to MyHomePage
when:
def result = statusSelection("DEALER_STOCK")
then: "The status selection should be set to dealer stock"
result
}}
和我的页面对象:
class MyHomePage extends MyContextPage {
@Override
String getPageUrl() {
return super.getPageUrl() + "/unt/overviewMenu.html"
}
//check if csv button exist
static at = { $('.buttons-csv').text() != '' }
static content = {
statusSelection { value -> $("select[id=searchSelection] option[value='${value}']") }
filterButton(to: UnitSearchHomePage) { $('a[id=searchMy]') }
resetButton { $('a[id=resetStock]') }
addUnitToStockButton { $('a[id=addUnitBtn]') }
}}
当我使用driver = {new HtmlUnitDriver(javascriptEnabled: true)}
我得到了
geb.error.RequiredPageContentNotPresent:所需的网页内容' model.unt.MyHomePage - > statusSelection(DEALER_STOCK):geb.navigator.EmptyNavigator'不存在
虽然使用firefox驱动程序工作正常。 driver = { new FirefoxDriver() }
以下是版本的pom.xml摘录:
<gebVersion>1.0</gebVersion>
<seleniumVersion>2.53.1</seleniumVersion>
<seleniumHtmlUnitVersion>2.52.0</seleniumHtmlUnitVersion>
<org.codehaus.groovy-all.version>2.4.3</org.codehaus.groovy-all.version>
<org.codehaus.gmaven.version>1.5</org.codehaus.gmaven.version>
提前致谢。