我正在引用这个以前的线程 (geb.driver.DriverCreationException: failed to create driver from callback) - 但我仍然有问题。

我正在尝试在 Grails 2.4.3 下运行 Geb 功能测试,并且我的 Selenium 支持依赖项设置为 2.42.2 版。我也用 2.43.1 和 2.45.0 尝试过。如果我尝试使用 Selenium 2.42.2 或 2.43.1,Geb 将停止运行并且无法完成,如果我使用 2.45.0,它会彻底崩溃。

这些是我得到的错误:

  • 如果我尝试使用 Selenium 支持 2.42.2 或 2.43.1,我会收到此错误:geb.driver.DriverCreationException: failed to create driver from callback
  • 如果我尝试使用 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'
    

    对于一些额外的信息,我有一个仅用于运行 Geb 测试的 Gradle 项目,这是我的 build.gradle 文件中的 Geb 特定数据。我知道这些版本可以一起工作,希望它们对你有用。
    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
        }
    }
    

    关于java - 为什么即使在 Grails 中更新了我的 Selenium 依赖项后,我的 Geb 测试仍然返回 "failed to create driver from callback"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30085879/

    10-12 05:45