gpt4 book ai didi

android - 如何使用 Android Intent 以编程方式启动 Instrumentation 项目?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:31 25 4
gpt4 key购买 nike

开始测试用例的一种方法是,

adb shell am instrument 
-w com.google.vishal.test/android.test.InstrumentationTestRunner

我想使用 Android 代码开始这个(有 Intent )

例如,

adb shell am start -n com.google.android.contacts/.ContactsActivity

我们可以通过以下方法使用 Android intent 运行:-

Intent intent = new Intent(com.google.android.contacts, ContactsActivity.class);
startActivity(intent);

但是,如何运行

adb shell am instrument 
-w com.google.vishal.test/android.test.InstrumentationTestRunner

通过 Android Intent ?

提前感谢您的帮助:-)

最佳答案

adb shell 开始检测的命令:-

adb shell am instrument -w com.android.vishal.project.test/android.test.InstrumentationTestRunner   

Android Activity 启动instrumentation 的 Android 代码:-

 startInstrumentation(new ComponentName("com.android.vishal.project.test", "android.test.InstrumentationTestRunner"), null, null);

注意:

其他方法,

用于开始检测的 Android 代码(Android 2.3 到 Android 4.1.2)

String str_cmd = "adb shell am instrument -w com.android.vishal.project.test/android.test.InstrumentationTestRunner";
Runtime.getRuntime().exec(str_cmd);

对于 Android 4.2,它需要“android.permission.INJECT_EVENTS”权限,并且只有系统应用程序允许。由于某些安全原因,用户应用程序无法使用此权限。

所以你不能使用 Runtime.getRuntime().exec(str_cmd);适用于 Android 4.2 及更高版本 ...

所以现在的工作方法是:

 startInstrumentation(new ComponentName("com.android.vishal.project.test", "android.test.InstrumentationTestRunner"), null, null);

从您的 Activity 中执行此命令。

谢谢。

关于android - 如何使用 Android Intent 以编程方式启动 Instrumentation 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14339216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com