我正努力让所有这些东西一起工作。使用此配置创建了一个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由同一台用户在同一台机器上启动...有些可以帮我指出正确的方式吗?
答案 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具有轻微的启动时间