我正在尝试启动和运行基于Groovy的浏览器自动化/测试框架,并且我在使基于ConfigSlurper的配置工作时遇到问题。
我的默认包中有一个GebConfig.groovy类,如下所示:
import org.openqa.selenium.firefox.FirefoxDriver
// default is to use firefox
driver = { new FirefoxDriver() }
//set the report output directory
reportsDir = "reports/"
但是尝试运行脚本会导致以下错误:
Caused by: groovy.lang.MissingMethodException: No signature of method: groovy.util.ConfigSlurper.parse() is applicable for argument types: (script135050580006143429828, java.net.URL) values: [script135050580006143429828@21f11507, file:/Users/alex/Documents/workspace/gebTest/src/main/java/GebConfig.groovy]
Possible solutions: parse(java.net.URL), parse(groovy.lang.Script, java.net.URL), parse(groovy.lang.Script), parse(java.lang.Class), parse(java.lang.String), parse(java.util.Properties)
at geb.ConfigurationLoader.loadRawConfig(ConfigurationLoader.groovy:295)
我认为我需要遗漏一些小而明显的东西。我在Eclipse中使用最新版本的Geb(0.7.2)和Groovy 1.8。
答案 0 :(得分:1)
正如我从您的异常和脚本路径中看到的那样,您似乎正在使用Maven或Gradle来构建项目。要解决您的问题,您应该尝试将GebConfig.groovy脚本从文件夹src/main/java
移至src/main/resources
或更好src/test/resources
,因为您可能不希望在生产环境中使用此脚本。
有关详细信息,请参阅Configuration chapter in The Book of Geb。