Cts框架分为9大部分:
cmd_options:命令行接受的参数选项,command包中。
device_requirements:设备相关要求,device包中
device_options:设备参数要求,device包中
builde_provider:版本提供者,build包中
target_preparer:预置条件准备,targetprep包中
test:测试类型,存在testtype包中
device_recovery:任务执行过程中设备异常后的设备恢复,device包中
logger:日志系统,log包中
result_reporter:结果统计报告,result包中
每一种任务都要配置好这9个组件,如果不配置,框架就采用自己的默认配置,但也是相当于配置了这几项,所以cts框架的核心在Configuration中。
- private static synchronized Map<String, ObjTypeInfo> getObjTypeMap() {
- if (sObjTypeMap == null) {
- sObjTypeMap = new HashMap<String, ObjTypeInfo>();
- sObjTypeMap.put(BUILD_PROVIDER_TYPE_NAME, new ObjTypeInfo(IBuildProvider.class, false));
- sObjTypeMap.put(TARGET_PREPARER_TYPE_NAME, new ObjTypeInfo(ITargetPreparer.class, true));
- sObjTypeMap.put(TEST_TYPE_NAME, new ObjTypeInfo(IRemoteTest.class, true));
- sObjTypeMap.put(DEVICE_RECOVERY_TYPE_NAME, new ObjTypeInfo(IDeviceRecovery.class, false));
- sObjTypeMap.put(LOGGER_TYPE_NAME, new ObjTypeInfo(ILeveledLogOutput.class, false));
- sObjTypeMap.put(RESULT_REPORTER_TYPE_NAME, new ObjTypeInfo(ITestInvocationListener.class,
- true));
- sObjTypeMap.put(CMD_OPTIONS_TYPE_NAME, new ObjTypeInfo(ICommandOptions.class,
- false));
- sObjTypeMap.put(DEVICE_REQUIREMENTS_TYPE_NAME, new ObjTypeInfo(IDeviceSelection.class,
- false));
- sObjTypeMap.put(DEVICE_OPTIONS_TYPE_NAME, new ObjTypeInfo(TestDeviceOptions.class,
- false));
- }
- return sObjTypeMap;
-