🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
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) 我们的讲解也结束了,我们也该干嘛干嘛去吧。散了吧!!