【发布时间】:2014-07-22 08:28:22
【问题描述】:
我想在我的物理设备从物理设备上开始使用 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: Permission Denial: startInstrumentation 要求以用户 -2 身份运行,但从用户 0 调用;这需要 android.permission.INTERACT_ACROSS_USERS_FULL。
我是否必须根设备才能实现某些目标?或者在没有root的情况下有可能吗?
如果无法从应用程序启动测试,那么从脚本或其他东西启动它也会有所帮助。基本上,支持团队只需单击一个按钮,然后自动截取屏幕截图。有什么想法吗?
【问题讨论】:
标签: android shell testing device instrumentation