繁体   English   中英

Android:从设备/应用程序在设备上启动测试

[英]Android : Launch test on device FROM device/application

我想物理设备开始在我的物理设备上用espresso编写的仪器测试。

想法如下:我公司为应用程序提供了白标解决方案,因此我们有很多应用程序可以放入Play商店中。 为了支持我们的支持团队,我编写了一个测试程序,对应用程序的多个部分进行了截图,因此他们不必每次都这样做。

问题:如果没有安装android sdk,打开终端等,他们将无法启动“屏幕截图制作程序测试”。

从我的角度来看,最好的解决方案是在应用程序中隐藏一个秘密按钮,该按钮在按下测试后便会开始测试。 那有可能吗?

我从计算机终端尝试了以下shell命令,该命令有效:

adb shell 
am instrument -w -e class com.my.company.ScreenshotTests com.my.company.tests/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner

但是,当我在设备上使用Android Terminal Emulator应用程序运行该命令时,它会引发SecurityException:权限拒绝:startInstrumentation要求以用户-2的身份运行,但正在从用户0调用; 这需要android.permission.INTERACT_ACROSS_USERS_FULL。

我必须扎根设备才能达到目的吗? 还是有可能不生根?

如果无法从应用程序启动测试,则仅从脚本或其他内容启动测试也将有所帮助。 基本上,支持团队只需要单击一个按钮,然后屏幕快照就会自动获取。 有任何想法吗?

除非满足以下任一条件,否则您将无法从设备本身运行此命令:

  • 设备已植根
  • 您的应用使用与另一个具有INTERACT_ACROSS_USERS_FULL权限的应用相同的密钥签名
  • 您的应用已使用平台密钥签名

如果您想从应用程序本身获取应用程序的屏幕截图,我认为除了通过adb命令之外,还有其他方法可以完成此操作。 您可以以编程方式浏览应用程序中的屏幕并获取屏幕截图。

请参阅: 如何在Android中以编程方式拍摄屏幕截图?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM