我想知道我们可以在应用程序中使用UIAutomator吗?我想编写一个打开另一个应用程序的应用程序,在该应用程序EditText中编写一些文本,然后按一些按钮(例如打开环聊并在其上写文本并发送消息)。您能建议我该怎么做吗?
我已经搜索过网络,但只能通过UIAutomator测试我的UI,但是我不知道是否可以用它来编写Android应用程序(而不是jar文件)并在我的Android设备上运行执行此操作。
这是不可能的。
UiAutomator 2.0依赖于Instrumentation,仅当您使用am instrument ...
运行测试时才可用。常规(非测试)应用程序无权访问Instrumentation。
基于Shell的UiAutomator与此类似。您使用adb shell uiautomator runtest ...
执行测试,而UiAutomatorTestRunner充分利用了这一事实,即它以外壳程序用户身份运行,可以执行普通应用程序无权执行的操作。
如果您使用Runtime#exec(..)
来调用am instrument
或uiautomator runtest
,该命令将不会以外壳程序用户身份运行(它将使用您的应用程序的uid),并且由于没有必要的权限而将失败。