背景
我想在Jenkins上的不同模拟器上运行我的Android
Instrumented测试。假设我有100个测试和4个仿真器,我想在每个仿真器上运行25个测试。
我./gradlew connectedDebugAndroidTest
在Jenkins Pipeline的并行处理中为4个模拟器执行
stage('Instrumented Tests') {
parallel(
emu1: {
runInstrumentedTestOnEmu(...)
},
emu2: {
runInstrumentedTestOnEmu(...)
}
...
)
}
connectedDebugAndroidTest
会产生其他命令,以便为运行已测试的测试设置环境。
...
:app:transformNativeLibsWithMergeJniLibsForDebugAndroidTest
:app:processDebugAndroidTestJavaRes NO-SOURCE
:app:transformResourcesWithMergeJavaResForDebugAndroidTest
:app:validateSigningDebugAndroidTest
:app:packageDebugAndroidTest
:app:assembleDebugAndroidTest
:app:connectedDebugAndroidTest
当环境准备就绪时,它将执行:app:connectedDebugAndroidTest
,这将开始在模拟器上运行测试。
我不想对所有并行调用都运行这些过程(在这种情况下,将是其中的4个),因为显然我要做多次完全相同的工作。从理论上讲,最好的选择是parallel
在一切准备好运行测试之前和之时执行设置,然后进入parallel
步骤并在每个仿真器上启动测试。
题
是否可以在connectedDebugAndroidTest
不执行自身的情况下执行所有的预设置步骤?
另外,如果我connectedDebugAndroidTest
在4个仿真器上并行运行,则构建崩溃,因为gradle试图从intermediate
目录读取文件,而其他并行构建已经删除了该文件,则导致崩溃。
您可以使用上述设置在github中查看此测试项目。
是否可以不执行自身而执行connectedDebugAndroidTest的所有预设置步骤?
是的,您可以运行assembleDebugAndroidTest
,这是构建日志所显示的,这是运行设备测试的最后前提。运行该应用程序将构建应用程序并测试APK。
虽然据我所知,没有使用时,摇篮跨越多个模拟器分片你的测试的方式-你将不得不在两者中的APK安装到每一个模拟器,并使用adb shell am instrument
与numShards
和shardIndex
选项。
问题内容: 我正在尝试在Mock上使用Mockito来执行此操作: 当使用parameter1 调用Mock.someMethod(..)->返回result1 当使用parameter2调用Mock.someMethod(..)时-> return result2 当Mock.someMethod (..)用参数3调用->返回result3 但是Mockito正确地对第一个进行了存根,但是在第二
我genymotion模拟器和我的手机连接,我想通过wifi运行和调试我的应用程序,我找到了这样做的指令,但当我输入此代码时,我得到了这个错误: 我得到这个错误:错误:多个设备/仿真器 如何将我的设备设置为默认值或类似的东西来解决此问题?
我想使用Ubuntu 16.04在Android emulator上启动React本机应用程序。按照react原生文档,它应该通过运行 或 出于某种原因,没有sudo,这两个命令都无法工作,但这不是问题。问题是每次我遇到同样的错误时都会运行它们: 运行adb出错:找不到Android设备。请连接设备,并按照此处的说明启用USB调试:https://developer.android.com/stu
我使用Windows10和android studio V3.1.2我想在android studio中使用AVD我下载systemImages for API 27并将其放入sdk,systemImages文件夹中,它工作正常,没有问题。我创建了一个虚拟设备。现在,当我启动它时,事件日志中出现以下错误: 模拟器:panic:缺少“x86”CPU的模拟器引擎程序。 我该怎么办?这正在发生
我想在地图上画一条折线 进口com.google.android.gms.maps.model.Polyline;进口com.google.android.gms.maps.model.PolylineOptions; 导入java.util。ArrayList;导入java.util.List; 公共类 MainActivity extends AppCompatActivity 实现了 OnM