TA的每日心情 | 无聊 2024-7-12 13:16 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
1, 概述
CTS(Compatibility Test Suite)全名兼容性测试,主要目的就是让Android设备开发商能够开发出兼容性更好的android设备。
本文的CTS源码基于android 5.1,和其他自动化测试指令一样,CTS测试命令也是通过脚本运行的。
CTS源码中的脚本路径: CTS/tools/tradefed-host/etc/ cts-tradefed
Linux环境中也是运行cts-tradefed脚本进行测试。
cts-tradefed脚本最后一行如下,
- java $RDBG_FLAG \
- -cp ${JAR_PATH} -DCTS_ROOT=${CTS_ROOT} com.android.cts.tradefed.command.CtsConsole "$@"
复制代码
2,main方法
main方法的流程图如下,
CtsConsole的main方法如下,
- public static void main(String[] args) throws InterruptedException, ConfigurationException {
- Console console = new CtsConsole(); // 构造CtsConsole对象
- Console.startConsole(console, args); // 调用父类的startConsole方法
- }
复制代码
CtsConsole继承于Console,而Console继承于Thread类。
startConsole方法如下,
- public static void startConsole(Console console, String[] args)
- throws InterruptedException, ConfigurationException
- {
- // 将命令参数复制到ArrayList中
- List<String> nonGlobalArgs = GlobalConfiguration.createGlobalConfiguration(args);
-
- console.setArgs(nonGlobalArgs); // 将命令参数保存在变量mMainArgs中
- console.setCommandScheduler(GlobalConfiguration.getInstance().getCommandScheduler());
- console.setDaemon(true);
- console.start(); // 启动线程 调用run方法
-
- console.awaitScheduler();
- }
- }
复制代码
CtsConsole的run方法如下
- @Override
- public void run() {
- printLine(String.format("Android CTS %s", CtsBuildProvider.CTS_BUILD_VERSION));
- super.run();
- }
复制代码 |
|