gpt4 book ai didi

Android Instrumentation 测试在 Travis CI AVD 上失败但在本地模拟器上工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:35 25 4
gpt4 key购买 nike

如果我在我的本地模拟器上运行仪器测试,它们可以完美运行 10 次中的 10 次,但是当我尝试在 Travis CI 中的 AVD 上运行相同的测试时,我随机得到

失败 java.lang.RuntimeException:无法在 45 秒内启动 Intent Intent { }。也许主线程在合理的时间内没有空闲?可能会有动画或不断重绘屏幕的东西。或者该 Activity 正在创建时进行网络调用?请参阅线程转储日志。供您引用,在您的 Activity 启动请求之前事件队列最后一次空闲是 xxxxxxx,现在队列最后一次空闲是:xxxxxxxxx。如果这些数字相同,您的 Activity 可能会占用事件队列。

我已经尝试删除所有进度条和所有内容,但它仍然是一个仅在 Travis 上随机发生的问题。我的 travis.yml 看起来像这样:

env:
global:
- ANDROID_TARGET=android-19
- ANDROID_ABI=armeabi-v7a
before_script:
- android list targets
- echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI
- emulator -avd test -no-skin -no-audio -no-window -no-boot-anim &
- android-wait-for-emulator
- adb shell input keyevent 82 &
script:
- ./gradlew jacocoTestReport assembleAndroidTest connectedCheck zipalignRelease

最佳答案

如果你想使用android-wait-for-emulator脚本,请remove -no-boot-anim 选项 depends on检测模拟器何时准备就绪。

或者,用固定的 sleep time 替换 android-wait-for-emulator 脚本像这样:

  - sleep 300
- adb shell input keyevent 82 &

您需要根据每个 API 启动时长来选择休眠时间。

关于Android Instrumentation 测试在 Travis CI AVD 上失败但在本地模拟器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39641185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com