java - 从 Android 中的应用程序执行插桩测试

标签 java android android-studio kotlin android-uiautomator

首先很抱歉,如果我的问题是无知的,我不是 Android 开发人员。我必须构建一个机器人应用程序(在另一个应用程序中自动执行操作)并发现这可以通过 UIAutomator 实现。 . (我知道我在滥用这个框架,但我认为我试图实现的方式是不可能的。)
我开始构建应用程序并且它可以工作,但是,我希望能够在设备未连接到 Android Studio 的情况下运行它。
是否可以通过按按钮或其他方式从应用程序执行测试?

最佳答案

UIautomation 依赖于 android.app.Instumentation,其中 can only be started through adb or from within a System App .出于安全原因,系统不会授予“对其他应用程序执行操作”的权限,除非用户明确授予了可访问权限。
出于这个原因,我担心在没有“连接到 android studio”的情况下将无法使用 UIAutomator(这种连接正是通过 adb 实现的,Android studio 使用它来连接到手机)。如果需要,您也可以直接使用 adb,但必须连接到计算机和 adb 可执行文件。
有关 UIAutomator 和 AccessibilityService 差异的更多信息 here .
更新:
即使在没有 adb 连接的情况下无法使用 UIAutomator,您仍然可以使用 this detailed guide 编写自己的无障碍服务。 .请注意,它不允许您“执行仪器测试”,而是“在另一个应用程序中执行操作”。

关于java - 从 Android 中的应用程序执行插桩测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63347232/

相关文章:

java - 静态初始化程序的合法用途?

Android数据绑定(bind): @Binable vs Observablefield performance

java - android 中的 getWindow().addFlags()

java - Android Spinner 不会启动 OnItemSelected 并且当前选定的项目不会显示在 Spinner 中

android - 如何在 xml 中添加 TODO 注释?

java - 如何获取json数组中子数组的值

java - 给JScrollPane添加JTable后,按钮无法点击,为什么?

java - 如何在liferay中获取登录凭据?

java - 尝试从字符串访问类

android - Android 上的 DTN(延迟容忍网络)