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

时间:2015-04-01 21:22:59

标签: android uiautomator android-uiautomator

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

我搜索网络,我只能找到我可以用UIAutomator测试我的UI,但我不知道我可以用它来编写一个Android应用程序(不是jar文件)并在我的Android设备上运行它这样做。

1 个答案:

答案 0 :(得分:3)

这是不可能的。

UiAutomator 2.0依赖Instrumentation,只有在您使用am instrument ...运行测试时才可以使用{{3}}。常规(非测试)应用程序无权访问Instrumentation。

基于Shell的UiAutomator类似。您使用adb shell uiautomator runtest ...执行测试,并且UiAutomatorTestRunner利用它作为shell用户运行的事实来执行普通应用程序无权执行的操作。

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