将Gebish整合到Gradle中

时间:2016-03-16 13:04:34

标签: testing gradle groovy geb

我试图将Gebish整合到Gradle中。 我已经找到了这个很好的教程:http://www.gebish.org/manual/0.9.2/build-integrations.html#gradle

我发现需要使用命令行指定浏览器。 现在我有了这段代码:

def gebVersion = '0.13.1'
def seleniumVersion = '2.51.0'

apply plugin: 'groovy'

repositories {
    mavenCentral()
}

dependencies {
    testCompile "org.gebish:geb-spock:$gebVersion"
    testCompile("org.spockframework:spock-core:1.0-groovy-2.4")

    testRuntime "org.seleniumhq.selenium:selenium-support:$seleniumVersion"

    /*
    // Drivers
    testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
    testCompile "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
    */
}

task firefoxTest(type: Test) {
    dependencies {
        testCompile "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
    }
}

task chromeTest(type: Test) {
    dependencies {
        testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
    }
}

test {
    systemProperties "geb.build.reportsDir": "$reportsDir/geb"
}

我也有这个大测试,位于src / test / groovy / test.groovy

import geb.Browser

Browser.drive {
    go "http://stackoverflow.com"
}

问题是,如果我使用gradlew firefoxTestgradlew chromeTest运行gradle,它什么都不会发生,我收到以下消息:

14:02:03: Executing external task 'chromeTest'...
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava UP-TO-DATE
:compileTestGroovy
:processTestResources UP-TO-DATE
:testClasses
:chromeTest

BUILD SUCCESSFUL

Total time: 2.534 secs
14:02:05: External task execution finished 'chromeTest'.

如何使用特定浏览器通过命令行运行测试? 还可以构建Browserstack支持吗?

2 个答案:

答案 0 :(得分:1)

看起来你正确设置了Gradle。但是,您的大测试需要扩展geb.spock.GebReportingSpecgeb.junit4.GebReportingTest,以便测试运行员将其检测为测试。然后它必须包含符合Spec或Test要求的测试。例如,请参阅Geb Gradle示例项目中的GebishOrgSpec.groovyGebishOrgTest.groovy

答案 1 :(得分:0)

关于使用多个浏览器运行测试,请查看build file of the Geb's example project that uses gradle。即Geb environment设置here的方式,然后GebConfig.groovy使用herehere