Firebase VDT无法运行黄瓜(黄瓜)测试

时间:2019-03-07 11:33:25

标签: android cucumber firebase-test-lab

我正在使用VDT进行集成测试。 我构建了两个APK,然后按照此处引用的教程发送它们:https://firebase.google.com/docs/test-lab/android/continuous for Bitrise。

Firebase成功运行了我的非Cucumber测试,但它只是忽略了Cucumber测试。

在设备上安装APK时,我看到所有测试都在运行。 我检查了一下,将APK中的“跑步者”设置为MultiDexCucumberJUnitRunner

要知道androidTest apk中使用的跑步程序,我这样做:

  1. 安装要发送到Firebase的APK
  2. 运行adb shell pm list instrumentation

然后我看到一行: instrumentation:my.package.name.test/.MultiDexCucumberJUnitRunner (target=my.package.name)

这是我已集成到应用程序中的MultiDexCucumberJUnitRunner: https://gist.github.com/dhoskins/98afa6976c87cb20328d42065c7292ee

您知道我如何调查为什么测试未运行吗?你也有这个问题吗?

编辑 现在,我知道可以使Orchestrator处于关闭状态。有没有办法使用Orchestrator来运行Cucumber测试?

打开Orchestrator时,这是测试的结果:

  

INSTRUMENTATION_STATUS:numtests = 1 INSTRUMENTATION_STATUS:流=否   找到的测试:INSTRUMENTATION_STATUS:id = AndroidJUnitRunner   INSTRUMENTATION_STATUS:测试= INSTRUMENTATION_STATUS:类=无测试   找到的INSTRUMENTATION_STATUS:当前= 1 INSTRUMENTATION_STATUS_CODE:1   INSTRUMENTATION_STATUS:numtests = 1 INSTRUMENTATION_STATUS:stream =   未找到任何测试中的错误:java.lang.ClassNotFoundException:无效   名称:在java.lang.Class.classForName(本机方法)上未找到测试     在java.lang.Class.forName(Class.java:400)在   android.support.test.internal.runner.TestLoader.doCreateRunner(TestLoader.java:72)     在   android.support.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:104)     在   android.support.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:789)     在   android.support.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:539)     在   android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:382)     在   my.package.name..app4test.test.MultiDexCucumberJUnitRunner.onStart(MultiDexCucumberJUnitRunner.kt:25)     在   android.app.Instrumentation $ InstrumentationThread.run(Instrumentation.java:1932)

1 个答案:

答案 0 :(得分:4)

似乎已为Android Cucumber版本4.2.4添加了对Orchestrator的支持。您可以尝试从库中集成CucumberAndroidJUnitRunner,而不是从主旨中集成MultiDexCucumberJUnitRunner

如果您的项目还不是AndroidX,请将androidx.test.runner.AndroidJUnitRunner更改为android.support.test.runner.AndroidJUnitRunner,它们应该具有相同的实现。