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