case执行完毕后,会回到CtsTest的run方法中:
![](https://box.kancloud.cn/2016-01-09_56911dd952022.jpg)
这个时候会先将mRemainingTestPkgs列表的第一项移除,以便下一次取第一个的时候,取的是新的TestPackage对象,然后根据case的类别来做相应的重启操作,最后返回到主界面。最后,截图留下犯罪现场,下载之前安装的jar包。在finally语句块中report未执行的case。为执行的case是通过执行其testStarted方法,但是不执行testEnded方法,让监听器识别出这条case未执行。
当CtsTest的run方法执行完毕后,回到了TestInvocation.prepareAndRun中:
![](https://box.kancloud.cn/2016-01-09_56911dd9cc783.jpg)
执行完恢复操作以后,会返回到performInvocation中:
![](https://box.kancloud.cn/2016-01-09_56911dda48309.jpg)
将日志系统打印出来并保存到logs目录文件中。
![](https://box.kancloud.cn/2016-01-09_56911dda82e09.jpg)
然后调用InvocationSummaryHelper.reportInvocationEnded方法:
![](https://box.kancloud.cn/2016-01-09_56911ddab7be5.jpg)
通知所有监听器,本次任务的彻底结束,各自该干嘛,干嘛去。然后回到invoke中,然后invoke也完成了,回到了InvocationThread.run方法中:
![](https://box.kancloud.cn/2016-01-09_56911ddb22c0d.jpg)
然后释放设备。移除执行线程。最后返回到CommandScheduler.run方法
![](https://box.kancloud.cn/2016-01-09_56911ddba886b.jpg)
我们的讲解也结束了,我们也该干嘛干嘛去吧。散了吧!!
- 前言
- (1)-windows下cts配置
- (2)-cts调试环境的搭建
- (3)-基础库tradefederation配置
- (4)-任务的添加
- (5)-9大组件配置
- (6)-任务的执行
- (7)-任务执行的调度室
- (8)-IBuildProvider
- (9)-IDeviceRecovery
- (10)-TestDeviceOptions
- (11)-ICommandOptions
- (12)-ITargetPreparer
- (13)-任务执行过程
- (14)-任务执行过程
- (15)-任务执行完
- (16)-logcat信息收集系统
- (17)-fastboot状态监听器
- (18)-设备恢复
- (19)-设备状态的分类以及恢复模式的分类
- (20)-cts自身log系统
- (21)-测试结果收集系统
- (22)-自动检测设备
- (23)-设备分类
- (24)-case的组织