Continuous integration GitHub操作运行浓缩咖啡测试

Continuous integration GitHub操作运行浓缩咖啡测试,continuous-integration,android-espresso,github-actions,Continuous Integration,Android Espresso,Github Actions,我目前正在尝试使用GitHub操作运行我的应用程序。我的单元测试运行良好,但我似乎无法运行浓缩咖啡测试。我目前正在尝试: - name: Run Instrumentation Tests (reactivecircus) uses: reactivecircus/android-emulator-runner@v2.6.1 with: api-level: 23 target: default arch: x86 prof

我目前正在尝试使用GitHub操作运行我的应用程序。我的单元测试运行良好,但我似乎无法运行浓缩咖啡测试。我目前正在尝试:

    - name: Run Instrumentation Tests (reactivecircus)
    uses: reactivecircus/android-emulator-runner@v2.6.1
    with:
      api-level: 23
      target: default
      arch: x86
      profile: Nexus 6
      script: ./gradlew connectedCheck --stacktrace
我得到的结果是:

com.balsdon.ratesapp.behaviour.RateListActivityEntryBehaviourInstrumentedTest > recyclerViewClickOnItemChangesMain[test(AVD) - 6.0] FAILED 
    android.content.res.Resources$NotFoundException: Resource ID #0x7f0700d3
    at android.content.res.Resources.getValue(Resources.java:1351)
Tests on test(AVD) - 6.0 failed: Instrumentation run failed due to 'android.content.res.Resources$NotFoundException'

> Task :app:connectedOfflinemockDebugAndroidTest FAILED
> Task :app:processOnlineecbDebugAndroidTestResources
> Task :app:processProductionDebugAndroidTestResources

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:connectedOfflinemockDebugAndroidTest'.
> There were failing tests. See the report at: file:///Users/runner/runners/2.165.2/work/currency_list_app/currency_list_app/app/build/reports/androidTests/connected/flavors/OFFLINEMOCK/index.html
当我使用:

    - uses: malinskiy/action-android/emulator-run-cmd@release/0.0.5
    with:
      cmd: ./gradlew integrationTest
      api: 23
      tag: default
      abi: x86
我明白了


如果您想查看我的所有尝试,您可以查看本地运行的模拟器版本的所有提交,它很可能比
API23
android版本更新。在上,您正在使用API 23运行仿真器:

    uses: reactivecircus/android-emulator-runner@v2
    with:
      api-level: 23
      target: default
      arch: x86
      profile: Nexus 6
      script: ./gradlew connectedCheck --stacktrace
在您的项目中,有一个
app/src/main/res/drawable-v24
内部资源,因此它不适用于
<24api
版本的模拟器。您必须将该目录更改为
drawable-v23
,或者将资源移动到其他较旧版本可以访问的
drawable


即使您将drawable目录更改为
drawable-v23
Espresso,也可能会遇到一些问题,您必须为该版本解决这些问题,或者必须为您的Github action emulator使用更新的API版本,可能与您在开发环境中使用的版本相同。

我使用
reactivecircus/android仿真器-runner@v2
/gradlew connectedCheck
脚本在一个项目上进行浓缩咖啡UI测试,即使与。你可以在这里查看。在本地运行时测试通过了吗?是的,测试在本地通过了-我会看看你的问题,如果我的测试没有通过lib,那么应该报告这一点吗?当这一切进行时,我只是想了想。很高兴有一个项目使用这种东西,我可以看看-谢谢你,我发现了这个问题。在本地,您很可能有一个仿真器,它的API 23版本比android版本更新。在github操作中,您正在使用
API23
运行仿真器,并且在您的项目中有
app/src/main/res/drawable-v24
内部资源,因此它不适用于
<24API
版本的仿真器。我尝试在将目录重命名为
drawable-v23
后运行测试;它可以找到资源,但在较旧的API版本上运行浓缩咖啡似乎存在更多问题。如果可以将emulator API版本更改为兼容的espresso版本,我可以提供一个答案。我试着将它升级到v24,但还有其他问题,我需要修复测试,不管怎样,都是很棒的东西!都修好了!非常感谢。
    uses: reactivecircus/android-emulator-runner@v2
    with:
      api-level: 23
      target: default
      arch: x86
      profile: Nexus 6
      script: ./gradlew connectedCheck --stacktrace