现在,基础框架里要做的事做完了,在runTest里根据测试类型找到对应测试接口,我们要做的是CTS测试,所以就回到CTS框架里CompatibilityTest了,附图理解:

6 CompatibilityTest

CompatibilityTest就是进行CTS测试的test组件(最为关键的组件),它实现了很多接口。

直接看run方法:

模块仓库初始化这块儿其实就是模块与设备的一个分发的地方,注意:是以设备为单位进行分发的,也就是对于i号设备,去初始化在它上面要运行哪些模块呢,而不是把所有模块拿来看A号模块分给哪个手机,B号模块分给哪个手机。
关于这个部分我专门写到下一篇博文吧。

initialize方法在ModuleRepo.java中,做的事是初始化所有的模块。
返回的getModules就是返回给该台设备(通过mShardIndex或者SN号指定)分配的运行测试的模块集合。

回到run(只挑部分截图):

while循环:

就是把一次测试过程中的所有测试模块依次取出执行

这里是具体执行的,可以看到调用的还是moduleDef的run方法:

这里就是对于cts测试的具体执行了,run方法还是会针对不同类型进行相应接口的调用(和之前runtests里的run方法调用不同接口的区别应该是那个地方还是在基础框架里,是CTS测试与其他诸如GTS测试等等测试的大类的层面,而这里已经是CTS测试了,应该是对于不同测试模块的一个更细致的划分)

注:
在cts v2中,和v1的最大区别是v1是通过框架把所有的每一条测试case都拿到,逐个去执行,而v2则是把每个测试module都作为一个configuration,框架做的就是去拿到测试的所有module,但是每个module的执行还是走了框架,因为每个module现在都被认为是一个configuration了,各个module之间都是独立的,并不需要像V1框架那样再需要一个xml文件去配置,需要plan文件去做一个集合。而只需要去逐个执行测试module即可。

好了,框架的研究就差不多这些了,关于V1,V2的区别可以看我一开始给了链接的那篇博文,说的更详细一些。
最后一篇我就单独拎出用例模块的组织。

记我的CTS框架研究(3)相关推荐

  1. DeepMind用基于AI的元强化学习框架研究多巴胺在学习过程中的作用

    内容来源:ATYUN AI平台 最近,AI已经应用到一系列视频游戏中,如Atari经典的Breakout和Pong.尽管这样的表现令人印象深刻,但人工智能仍然依靠数千小时的游戏时间来达到并超越人类玩家 ...

  2. 新一代深度学习框架研究

    点击上方蓝字关注我们 新一代深度学习框架研究 于璠 华为技术有限公司,广东 深圳 518000    摘要:从人工智能的历史出发,简述深度学习发展历程以及目前的挑战,通过介绍新一代深度学习框架的特点, ...

  3. 基于GIS的省级高速公路路面管理系统框架研究

    基于GIS的省级高速公路路面管理系统框架研究 摘  要  基于GIS的省级高速公路路面管理系统是采用路面管理技术.交通地理信息系统技术和HDM-4模型建立的针对包括沥青路面和水泥混凝土路面在内的高速公 ...

  4. 拿来主义往往束缚人们对新事物的研究与发现 - 记于 OpenGLES 模型移动研究过程中的感悟

    拿来主义往往束缚人们对新事物的研究与发现 - 记于 OpenGLES 模型移动研究过程中的感悟 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循" ...

  5. 城市大脑标准体系与评价指标总体框架研究

    来源:城市大脑全球标准研究组 根据城市大脑标准的前期研究和中国指挥与控制学会(CICC)<城市大脑建设规范>标准启动会的专家意见,形成城市大脑标准体系与评价指标总体框架(如图1所示),供各 ...

  6. Blockchain -Corda框架研究一 cordapp-example 学习笔记

    Corda是Blockchain企业框架之一. 相关链接:https://docs.corda.net/ 国内:https://cncorda.com/ 这周开始准备学习Corda, 首先先研究一下h ...

  7. (前端版)RuoYi(若依开源框架)研究第一天

    前端版RouYi(开源框架)研究第一天 项目结构 ├── build // 构建相关 ├── bin // 执行脚本 ├── public // 公共文件 │ ├── favicon.ico // f ...

  8. 计算机硬件框架,计算机硬件知识体系的结构框架研究

    摘要:本文从计算机硬件知识体系的特点出发,探讨了计算机硬件知识的教学目标,从整体和实际等方面对如何构建合理的计算机硬件知识体系提出了一些自己的看法. 关键词:计算机硬件 知识体系 结构框架 中图分类号 ...

  9. Prism框架研究(一)

    从今天起开始写一个Prism框架的学习博客,今天是第一篇,所以从最基本的一些概念开始学习这个基于MVVM的框架的学习,首先看一下Prism代表什么,这里引用一下比较官方的英文解释来看一下:Prism ...

最新文章

  1. Python 技术篇-容易被忽略的尾差问题
  2. 线性表算法题库_数据结构与算法(线性表)练习题
  3. GlobalPointer:用统一的方式处理嵌套和非嵌套NER
  4. 详解CSS三大特性之层叠性、继承性和重要性——Web前端系列学习笔记
  5. oracle 全表扫描 分区,oracle分区表全分区扫描问题
  6. linux 子目录 挂载,linux – NFS4 – 挂载多个子目录
  7. 在AndroidStudio中配置Gradle进行 “动态编译期间,根据远程服务器地址 ,生成多类安装包”
  8. win7双系统,暴力删除ubuntu后出现grub rescue解决
  9. Kubernetes-[6]-StatefulSet
  10. python查看指令的方法python -h
  11. PHP递归遍历数组 不破坏数据结构 替换字符
  12. 文档大小超出上传限制怎么办_一键PDF转Word、PPT、图片等文档,这才是办公族必备的效率神器!...
  13. Algs4-1.3.10中序表达式转为后序表达式(第二次实现)
  14. Android dex修复工具,Android 简单热修复(下)——基于DexClassLoader的实现
  15. 使用dumpbin查看dll有哪些函数
  16. 微信小程序开发工具显示网络错误
  17. 【笔记】感谢《梦幻模拟战》的Unity+Spine资源,同人模式开启
  18. linux权限百度贴吧,api接口权限控制
  19. 【Three.js】简单地3D工具-Three.js建模入门基础教程
  20. excel从身份证号码中获取邮编信息?

热门文章

  1. 夜数星辰 相忘于边陲桃源
  2. 进化算法及Python实现(使用DEAP库)
  3. 如何1分钟批量导出一个微信公众号所有文章到word和pdf + 快捷搜索微信所有文章
  4. 魔客仕高清HDMI摄像头USB工业相机
  5. 史上最强的绕口令,吐血也读不出
  6. JAVA基础——内部类(成员内部类、静态内部类、局部内部类、匿名内部类)
  7. H5新特性百度地图SDK--API引入、地图控件、地理编码与逆地理编码、地图标注、路径规划(基于2.0)
  8. 一二线城市知名IT互联网公司名单,有你的目标公司吗?
  9. IT求职宝典——微软十佳金牌讲师孔文达作序推荐!
  10. 大学生就业管理系统源码