让Jenkins,Appium,Cucumber-Jvm和Android Emulator一起工作

时间:2014-02-28 15:55:08

标签: java android jenkins cucumber-jvm appium

我正努力让所有这些东西一起工作。使用此配置创建了一个jenkins作业:

环境构建:由{andorid模拟器jenkins插件生成的android-19 emulator

构建步骤: Appium以这种方式开始:

appium --full-reset --udid $ANDROID_AVD_DEVICE

使用黄瓜任务调用Gradle脚本:

    sourceSets {

    test {
        java {
            srcDir 'src/java'
        }
        resources {
            srcDir 'src/resources'
        }
    }
}


task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "cucumber.api.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['-f', 'pretty', '--glue', 'gradle.cucumber', 'src/resources']
        }
    }
}

我创建了一个带有两个模块的android工作室项目:一个带有android app源,一个带有所有黄瓜测试的cucumber-jvm“test”模块。

问题在于,当我尝试启动一个jenkins工作时,这个步骤:

编译android studio项目 - >启动模拟器 - >启动Appium服务器 - >编译黄瓜测试 - >执行测试

每次构建失败,这些都是日志:

https://gist.github.com/redirect11/9273079

https://gist.github.com/redirect11/9273043

这是第200次尝试......我不记得有什么不同......但错误是一样的......

Appium服务器和jenkins由同一台用户在同一台​​机器上启动...有些可以帮我指出正确的方式吗?

1 个答案:

答案 0 :(得分:0)

看着:

[31mMessage: [0m[31morg.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

我想我已经看到当与Appium的连接失败时。试着让appium运行而不用jenkins踢它,看看是否能解决问题。有这么多工作部件试图孤立哪个问题。如果您有下一期,请对其进行评论。

如果您希望在触发测试时运行appium,请尝试在测试中运行它。然后让它在测试完成时关闭连接。只需确保您的测试在尝试连接之前等待几秒钟,因为appium具有轻微的启动时间