我们可以在Android应用程序中使用UIAutomator吗?

问题描述 投票:8回答:1

我想知道我们可以在应用程序中使用UIAutomator吗?我想编写一个打开另一个应用程序的应用程序,在该应用程序EditText中编写一些文本,然后按一些按钮(例如打开环聊并在其上写文本并发送消息)。您能建议我该怎么做吗?

我已经搜索过网络,但只能通过UIAutomator测试我的UI,但是我不知道是否可以用它来编写Android应用程序(而不是jar文件)并在我的Android设备上运行执行此操作。

android android-uiautomator
1个回答
6
投票

这是不可能的。

UiAutomator 2.0依赖于Instrumentation,仅当您使用am instrument ...运行测试时才可用。常规(非测试)应用程序无权访问Instrumentation。

基于Shell的UiAutomator与此类似。您使用adb shell uiautomator runtest ...执行测试,而UiAutomatorTestRunner充分利用了这一事实,即它以外壳程序用户身份运行,可以执行普通应用程序无权执行的操作。

如果您使用Runtime#exec(..)来调用am instrumentuiautomator runtest,该命令将不会以外壳程序用户身份运行(它将使用您的应用程序的uid),并且由于没有必要的权限而将失败。

© www.soinside.com 2019 - 2024. All rights reserved.