其他分享
首页 > 其他分享> > android – Firebase VDT不运行Gherkin(Cucumber)测试

android – Firebase VDT不运行Gherkin(Cucumber)测试

作者:互联网

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

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

当我在我的设备上安装APK时,我看到所有测试都在运行.
我检查了APK中的Runner并设置为MultiDexCucumberJUnitRunner.

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

>安装我发送给Firebase的APK
>运行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: stream= no
tests found: INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test= INSTRUMENTATION_STATUS: class=no tests
found INSTRUMENTATION_STATUS: current=1 INSTRUMENTATION_STATUS_CODE: 1
INSTRUMENTATION_STATUS: numtests=1 INSTRUMENTATION_STATUS: stream=
Error in no tests found: java.lang.ClassNotFoundException: Invalid
name: no tests found at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:400) at
android.support.test.internal.runner.TestLoader.doCreateRunner(TestLoader.java:72)
at
android.support.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:104)
at
android.support.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:789)
at
android.support.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:539)
at
android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:382)
at
my.package.name..app4test.test.MultiDexCucumberJUnitRunner.onStart(MultiDexCucumberJUnitRunner.kt:25)
at
android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1932)

解决方法:

似乎为android黄瓜版本4.2.4添加了对Orchestrator的支持.您可以尝试从库中集成CucumberAndroidJUnitRunner而不是从gist中集成MultiDexCucumberJUnitRunner.

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

标签:android,cucumber,firebase-test-lab
来源: https://codeday.me/bug/20190622/1261133.html