我正在尝试在 IntelliJ 的 Grails 项目中运行一些 geb 测试,但是遇到了麻烦,经过 2 天的网络搜索和尝试不同的事情后仍然卡住了。之前,我们确实有一些 Groovy 测试运行良好,但到目前为止,geb 没有运气。我们正在使用黄瓜-jvm。
目前我收到以下错误:执行脚本TestApp时出错:groovy.lang.MissingMethodException:没有方法签名:GebConfig.environments()适用于参数类型:(GebConfig$_run_closure2)值:[GebConfig$_run_closure2@4ad3727e]
我的 GebConfig.groovy 文件在测试/功能中,包含:
import org.openqa.selenium.htmlunit.HtmlUnitDriver
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.chrome.ChromeDriver
// Use htmlunit as the default
// See: http://code.google.com/p/selenium/wiki/HtmlUnitDriver
driver = {
def driver = new HtmlUnitDriver()
driver.javascriptEnabled = true
driver
}
environments {Not sure
chrome {-Dgeb.env=chrome
driver = { new ChromeDriver() }
}
firefox {
driver = { new FirefoxDriver() }
}
}
我在测试/功能中也有 .feature 文件。步骤定义在测试/功能/步骤中,包含:
package steps
import geb.*
this.metaClass.mixin (cucumber.runtime.groovy.EN)
this.metaClass.mixin (cucumber.runtime.groovy.Hooks)
def browser = new Browser()
Given (~"I am on the front page") {
browser.go("http://localhost:8081/whereisOne")
}
在 test/functional/setup 中还有一个 shared_driver.groovy 类,它是为直接的 Groovy 测试而创建的,我不确定这是否仍然需要。
运行配置命令是:test-app --stacktrace,带有 VM 选项:-Dgeb.env=chrome
任何帮助表示赞赏,谢谢!