是否可以在-no-window模拟器上运行Espresso UI测试?

时间:2017-07-11 09:12:16

标签: android jenkins android-emulator

我正在尝试在CI(本例中为Jenkins)服务器上运行Espresso测试。我没有访问这里的GUI,所以我决定采用的方法是在Android Emulator上使用-no-window参数。模拟器启动正常,但在安装过程中出现private void createStyles() { ueberschrift = workbook.createCellStyle(); ueberschrift.setAlignment(HorizontalAlignment.LEFT); ueberschrift.getFont().setFontHeightInPoints((short) 25); ueberschrift.getFont().setBold(true); header = workbook.createCellStyle(); header.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); header.setFillPattern(FillPatternType.SOLID_FOREGROUND); header.setAlignment(HorizontalAlignment.CENTER); header.getFont().setFontHeightInPoints((short)11); standard_text = workbook.createCellStyle(); standard_text.setAlignment(HorizontalAlignment.RIGHT); standard_text.getFont().setFontHeightInPoints((short) 11); standard_int = workbook.createCellStyle(); standard_int.setDataFormat( workbook.createDataFormat().getFormat("0.0")); standard_int.setAlignment(HorizontalAlignment.RIGHT); standard_int.getFont().setFontHeightInPoints((short)11); standard_time = workbook.createCellStyle(); standard_time.setDataFormat(workbook.createDataFormat().getFormat("# ?/?")); standard_time.setAlignment(HorizontalAlignment.RIGHT); } 错误。正如我上面提到的,有没有办法在非gui机器上运行Espresso测试?我知道有适用于Android Emulator的Jenkins插件,但它似乎已经过时,最后更新是从2015年我相信..谢谢!

2 个答案:

答案 0 :(得分:1)

我在docker容器中的模拟器上运行espresso测试时遇到了同样的问题。我尝试运行Activity时出现问题。 仪器单元测试正在进行中。

当我从x86_64图像切换到x86测试时传递。我使用以下命令运行模拟器:emulator -avd Nexus6P -netdelay none -netspeed full -no-window -no-audio -gpu off

答案 1 :(得分:0)

根据互联网(例如SO),如果模拟器未完全启动或设备已锁定,您将收到此错误消息。

您可以尝试两件事:

  • 将解锁密钥发送到设备(首先检查设备是否在线)

    ./adb devices
    ./adb shell input keyevent 82

  • 等到设备完全启动

    ./adb shell getprop init.svc.bootanim
    // You should get "1" when ready

我目前有完全相同的问题,遗憾的是上述解决方案都不适用于我。我想确定问题的最佳方法是使用GUI运行模拟器以查看它正在做什么,但我无法访问服务器。

如果您能解决问题,请告诉我。

编辑: 在致电

之前,还要尝试睡几分钟(如果你的服务器不那么快,大约10分钟)

./adb install./gradlew connectedAndroidTest

编辑#2:

我的模拟器终于正常工作但必须使用x86图像。仍然不知道为什么手臂不工作..