我正在引用这个先前的线程(geb.driver.DriverCreationException:无法从callback创建驱动程序)-但是仍然有问题。
我正在尝试在Grails2.4.3下运行Geb功能测试,并且我将Selenium支持依赖项设置为2.42.2版。我也在2.43.1和2.45.0中尝试过。如果尝试selenium2.42.2或2.43.1,Geb会停滞不前,如果使用2.45.0,它将彻底崩溃。
这些是我得到的错误:
如果我尝试使用Selenium支持2.42.2或2.43.1,则会收到此错误:geb.driver.DriverCreationException:无法从回调创建驱动程序
如果我尝试使用Selenium支持2.45.0-我的浏览器将尝试运行Geb测试,但将返回“页面无法正确重定向”错误。
在我的Grails BuildConfig.groovy中,这是我现在设置的selenium依赖关系:
def seleniumVersion = "2.45.0" dependencies { // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes e.g. // runtime 'mysql:mysql-connector-java:5.1.29' // runtime 'org.postgresql:postgresql:9.3-1101-jdbc41' compile 'org.dbunit:dbunit:2.5.0' test "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion" test "org.gebish:geb-spock:$gebVersion" compile "org.springframework:spring-orm:4.0.5.RELEASE" // need for select objects test "org.seleniumhq.selenium:selenium-support:2.45.0" }
我让Geb使用以下属性:
gebVersion = '0.10.0' seleniumVersion = '2.43.1'
有关一些额外的信息,我有一个Gradle项目,该项目仅用于运行Geb测试,这是我build.gradle文件中特定于Geb的数据。我知道这些版本可以一起使用,希望它们对您有用。
build.gradle
ext { // The drivers we want to use drivers = ["firefox", "chrome", "phantomJs"] ext { groovyVersion = '2.3.6' gebVersion = '0.10.0' seleniumVersion = '2.43.1' chromeDriverVersion = '2.10' phantomJsVersion = '1.9.7' } } dependencies { // If using Spock, need to depend on geb-spock testCompile "org.gebish:geb-spock:$gebVersion" testCompile("org.spockframework:spock-core:0.7-groovy-2.0") { exclude group: "org.codehaus.groovy" } testCompile "org.codehaus.groovy:groovy-all:$groovyVersion" // Drivers testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion" testCompile "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion" testCompile("com.github.detro.ghostdriver:phantomjsdriver:1.1.0") { // phantomjs driver pulls in a different selenium version transitive = false } }