Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
connectedAndroidTest如何运行特定测试_Android_Android Instrumentation_Android Espresso - Fatal编程技术网

connectedAndroidTest如何运行特定测试

connectedAndroidTest如何运行特定测试,android,android-instrumentation,android-espresso,Android,Android Instrumentation,Android Espresso,我是一家初创公司的QA。我的开发者在Android项目中设置了检测测试。他还设置了Jenkins作业,以便在CI env中运行这些测试 这是在构建-->调用梯度脚本下Jenkins作业的“任务”字段中给出的命令。 清除已连接的程序集错误并进行测试调试 我想创建我自己的Jenkins作业来运行不同类型的测试。有没有一种方法可以通过运行“connectedAndroidTest”命令来过滤我的测试? 我试着像下面这样使用shell脚本,但没有成功。 adb壳牌am仪器-w/ 我收到以下错误消息: [

我是一家初创公司的QA。我的开发者在Android项目中设置了检测测试。他还设置了Jenkins作业,以便在CI env中运行这些测试

这是在构建-->调用梯度脚本下Jenkins作业的“任务”字段中给出的命令。 清除已连接的程序集错误并进行测试调试

我想创建我自己的Jenkins作业来运行不同类型的测试。有没有一种方法可以通过运行“connectedAndroidTest”命令来过滤我的测试? 我试着像下面这样使用shell脚本,但没有成功。 adb壳牌am仪器-w/

我收到以下错误消息: [执行烟雾测试套件]$/bin/bash-xe/var/folders/qr/vtm32_d56vz0hgwg5ppdbswc00007q/T/hudson1779650135635362469.sh +adb shell am instrument-w''class com.draysonwireless.airmapaandroid.rewards/BonusTest.java /var/folders/qr/vtm32_d56vz0hgwg5ppdbswc00007q/T/hudson1779650135635362469.sh:第2行:未找到adb:命令 生成步骤“执行shell”将生成标记为失败
完成:失败

似乎您的jenkins用户看不到android adb,因此构建失败。将adb添加到系统路径或指向其确切位置

关于通过gradle命令运行特定测试,以下是一个示例:

/gradlew应用程序:connectedAndroidTest-Pandroid.testInstrumentationRunnerArguments.class=com.example.android.testing.blueprint.ui.espresso.EspressoTest\testMethodName


我稍微修改了一下,就从这本书中摘取了。您的
connectedAndroidtest
命令可能因测试的存在而有所不同。

这是我在Jenkins工作中使用的shell脚本:

export PATH=$PATH:/Users/Shared/Jenkins/Library/Android/sdk/platform-tools
adb shell am instrument -w -r   -e debug false -e class com.company.project.test.SmokeTest com.company.project.debug.test/android.support.test.runner.AndroidJUnitRunner
文件夹结构应如下所示:
app-->src-->androidTest-->java-->com.company.project-->test-->TestClass

您的问题不够清楚。您的技术理解似乎限制了您对问题原因的理解。我建议先看一些教程,然后再回来问一个更具体的问题。@Alex.F抱歉,我同意这个问题有点模棱两可。基本上,我正在寻找一种只在Jenkins jobs中运行特定测试的方法。如果我使用的是Maven构建,我知道有一种方法可以使用标记(注释)运行特定的测试。Gradle的构建也有类似的方法吗?谢谢denys。我收到以下错误com.android.builder.testing.ConnectedDevice>未找到测试。[Google Nexus 5-5.1.0-API 22-1080x1920-5.1]未找到测试。这通常意味着您的测试类不是您的测试运行程序所期望的形式(例如,不从TestCase继承或缺少@test注释):应用程序:connectedDebugAndroidTest@jellyBeans检查包名,如
com.android.builder.testing
。它应该是运行此命令后将获得的软件包之一。
adb shell pm list instrumentation
。我认为,此错误与Emulator有关。当我使用不同的模拟器时,不再看到这个错误。但是,还有另一个异常正在发生:INSTRUMENTATION_STATUS:Error=无法找到以下的INSTRUMENTATION信息:ComponentInfo{com.company.project.SignUpScreeTest/android.support.test.runner.AndroidJUnitRunner}这是我在build.gradle文件testInstrumentationRunner“android.support.test.runner.AndroidJUnitRunner”中得到的信息它不应该是
com.company.project.test
。运行此命令后检查插入指令的程序包
adb shell pm list instrumentation
,并将其复制到gradle任务命令中。