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

栏目: 服务器 · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/39641185/android-instrumentation-test-fail-on-travis-ci-avd-but-work-on-local-emulator
如果我在我的本地模拟器上运行仪器测试,它们会完美地运行10次,但当我尝试在Travis CI中的AVD上运行相同的测试时,我会随机获得

FAILEDjava.lang.RuntimeException:无法在45秒内启动意图Intent {}.也许主线程在合理的时间内没有闲置?可能会有一个动画或不断重新绘制屏幕的东西.或者活动是在创建时进行网络调用?请参阅threaddump日志.在您的活动启动请求为xxxxxxx之前,事件队列最后一次空闲以供您参考,现在队列最后一次空闲时是:xxxxxxxxx.如果这些数字相同,您的活动可能会占用事件队列.

我已经尝试删除所有进度条和所有内容,但仍然是一个只在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

以检测模拟器何时准备就绪.

或者,将android-wait-for-emulator脚本替换为固定的 sleep time ,如下所示:

- sleep 300
  - adb shell input keyevent 82 &

您需要根据每个API启动持续时间选择睡眠时间.

翻译自:https://stackoverflow.com/questions/39641185/android-instrumentation-test-fail-on-travis-ci-avd-but-work-on-local-emulator


以上所述就是小编给大家介绍的《Android Instrumentation测试在Travis CI AVD上失败,但在本地模拟器上工作》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码整洁之道:程序员的职业素养

代码整洁之道:程序员的职业素养

罗伯特·C.马丁 (Robert C.Martin) / 余晟、章显洲 / 人民邮电出版社 / 2016-9-1 / 49.00元

1. 汇聚编程大师40余年编程生涯的心得体会 2. 阐释软件工艺中的原理、技术、工具和实践 3. 助力专业软件开发人员具备令人敬佩的职业素养 成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,......一起来看看 《代码整洁之道:程序员的职业素养》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具