一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“InstrumentationRegistry类介绍”。
介绍完UiAutomator如何配置,接下来介绍UiAutomator的API。图4-16是UiAutomator1.0的类的调用图。(由于现在是UiAutomator 2.0,但是没有找到2.0的类调用图)
图4-16 UiAutomator的类图
在UiAutomation2.0中有以下几个类,见表4-1。
表4-1 UiAutomation2.0中的类
1. InstrumentationRegistry类介绍
InstrumentationRegistry类是一个暴露的注册实例,持有instrumentation运行的进程和参数,还提供了一种简便的方法。
InstrumentationRegistry类提供以下方法,见表4-2。
表4-2 InstrumentationRegistry类提供的方法
案例4-1:InstrumentationRegistry的使用。
@Test
public void InstrumentationRegistryTest() {
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
Context context1 = InstrumentationRegistry.getContext();
Context context2 = InstrumentationRegistry.getTargetContext();
Context context3= instrumentation.getContext();
if(context1 == context2) {
Log.i("Chris", "InstrumentationRegistry getContext == getTargetContext");
}else {
Log.i("Chris", "InstrumentationRegistry getContext != getTargetContext");
}
if(context1 == context3) {
Log.i("Chris", "InstrumentationRegistry getContext == Instrumentation getContext");
}else {
Log.i("Chris", "InstrumentationRegistry getContext != Instrumentation getContext");
}
Intent intent = context2.getPackageManager().getLaunchIntentForPackage("xxx.xxx.xxx");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context2.startActivity(intent);}
在大多数程序中,下面这个代码是经常用到的,它用于定义一个instrumentation实例。
instrumentation = InstrumentationRegistry.getInstrumentation();
今天关于“InstrumentationRegistry类介绍”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!