connectedAndroidTest如何运行特定的测试

jel*_*ans 15 android android-espresso android-instrumentation

我是一家初创公司的QA.我的开发人员在Android项目中设置了Instrumentation测试.他还设置Jenkins Jobs在CI环境中运行这些测试.

这是在Build - > Invoke Gradle脚本下的Jenkins作业的"Tasks"字段中给出的命令.clean assembleDebug connectedAndroidTest testDebug

我想创建自己的Jenkins作业来运行不同类型的测试.有没有办法可以通过运行"connectedAndroidTest"命令来过滤我的测试?我尝试使用如下所示的shell脚本,但它没有用.adb shell am instrument -w /

我收到以下错误消息:[执行Smoke测试套件] $/bin/bash -xe /var/folders/qr/vtm32_d56vz0hgwg5ppdbswc00007q/T/hudson1779650135635362469.sh + adb shell am instrument -w''class com.draysonwireless.airmapandroid .rewards/BonusTest.java /var/folders/qr/vtm32_d56vz0hgwg5ppdbswc00007q/T/hudson1779650135635362469.sh:line 2:adb:command not found构建步骤'执行shell'将构建标记为失败完成:FAILURE

den*_*nys 20

似乎你的jenkins用户无法看到android adb因此构建失败.将adb添加到系统路径或指向它的确切位置.

至于通过gradle命令运行特定测试,下面是一个例子:

./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.android.testing.blueprint.ui.espresso.EspressoTest#testMethodName

从我这里稍作修改.您的connectedAndroidtest命令可能因测试风味的存在而有所不同.