3

参考链接: Link1Robotium Link2

正如我们所知,从Robotium Link2,我们可以从 android 代码运行 robotium 测试运行。

现在让我们谈谈uiautomator

我已经从Link1手动完成了以下步骤

adb push bin/AutomatedTests.jar /data/local/tmp/

问题:如何从“Android Activity Code”运行波纹管:

adb shell uiautomator runtest /data/local/tmp/AutomatedTests.jar -c com.example.tests.SimpleTest

情况1:

我试过这个代码:代码链接,参数如下

String[] strCmdArgsUiTesting = 
"/system/bin/uiautomator runtest UiTestingExample.jar -c com.intel.vishal.uitestingexample.LaunchBasemarkES2Taiji".split(" ");

错误来了:

INSTRUMENTATION_RESULT: longMsg=Permission Denial: 
Do not have permission in call getContentProviderExternal() 
from pid=2691, uid=10082 
requires android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY

我将此权限添加到 AndroidManifest.xml 如下

<uses-permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"/>

但同样的错误又来了。此权限在 android 活动中不起作用...

如何解决这个错误?

请注意:- 我使用的是 Android 4.2.2

4

2 回答 2

3

我确实相信您的手机需要植根才能从应用程序的 Java 代码中调用任何控制台命令...

于 2013-12-04T14:47:12.947 回答
2

检查此链接以查看如何从 android 代码运行命令:Android run bash command in app

现在,您要执行

uiautomator runtest /data/local/tmp/AutomatedTests.jar -c com.example.tests.SimpleTest

代替

adb shell uiautomator runtest /data/local/tmp/AutomatedTests.jar -c com.example.tests.SimpleTest
于 2013-08-13T07:35:33.280 回答