一月蔷薇_456 发表于 2019-2-14 16:28:44

Android GMS测试 CTS>S测试入门

本帖最后由 一月蔷薇_456 于 2019-2-14 16:30 编辑

CTS 和 GTS 测试测试命令大致是相同的,不同之处就是把 CTS 换成 GTS
先看一张图了解下测试相关的 module name ,package name ,case name




一、测试命令

full run 全部测试命令:run cts --plan CTS -s device serial

测试自己添加的计划命令: run cts --subplan name

测试整个 package 命令: run cts -m package_name

测试单项命令:run cts -m package_name -t module_name+case_name

继续测试命令:run cts -r session_ID



二.查看命令

查看测试结果命令 : l r

查看测试时间多长命令: l i

查看多少个设备连接命令: l d

查看当前测试窗口正在执行的命令: l c

查看有多少个 module 的命令:l m




三.其他命令或者参数

强制退出命令 kill

禁止重启命令 --disable-reboot

跳过预设环境命令 --skip-preconditions

跳过某项 package 命令 --exclude-filter+package_name

只测试某项 package 命令 --include-filter+ package_name

测试某台样机的参数 -s 或--serial+serial_name

几台样机同时测试的命令 --shards+number

以上都是写简单常用的命令,用 run cts –help-all 可以显示其他更详细的命令




四.测试结果的简单分析

下图是GTS测试的结果:



1.上图测试已经完成 session id 0、 1、 5,其他均未完全测试完
测试完的判定标准是 测试模块 of 前后的值相等

2.上图测试 ok 的报告是 session 5
测试 ok 的报告一定是完全测试完了的报告里面的,判定 ok 的报告是 fail
项的数目是 0(除非豁免项目),而且模块说是全部测试完了的,其他均不算是
ok 的报告

3.上图测试全部的 ok 的报告是 session 5
全部的 ok 和测试 ok 的区别在于模块数目可能不一样,比如自己添加的计
划测试全部 pass 也算是 ok 报告,但不是整个 GTS 或 CTS 测试 pass 的报告,他
们会在测试 pass 的总数,模块数,都会不一样

4.每个测试命令,测试完都有一个报告,测试报告名字可以根据 devuce serial
或 product 找到对应样机的报告,测试报告还可以根据文件名字上的时间或测
试完后的测试连接可以找到



五.CTS和GTS测试的流程

5.1 CTS测试前的准备
1.wifi 连接外网
2.打开蓝牙开关
3.设置屏的亮度到最低
4.休眠设置为 30min
5.字体大小或显示大小都选默认
6.定位选择高精度
7.屏幕锁定方式选择无
8.语言选择美国英语
9.时区选择中国时区关掉自动悬着时区和使用 24 小时制
10.打开开发者选项把不锁定屏幕和 USB 调试打开
11.执行脚本 copy_media.sh 拷贝 media 文件到内存

5.2 GTS测试前的准备
1.wifi 连接外网
2.定位选择高精度
3.屏幕锁定方式选择无
4.打开开发者选项把不锁定屏幕和 USB 调试打开

5.3 测试CTS或GTS
run cts --plan CTS -s serial_number
run cts --plan CTS --shards 2 -s serial_number1 -s serial_number2
run gts --plan GTS -s serial_number
run gts --plan GTS --shards 2 -s serial_number1 -s serial_number2

5.4 复测CTS或GTS
run cts -r session_id -s serial_number
run cts -r session_id --shards 2 -s serial_number1 -s serial_number2
想跳过某些: --exclude-filter+package_name
不想重起测试: --disable-reboot

5.5 单测试某条case或包
这是单测某条具体的 case :
run cts -m package_name -t module_name+case_name -s serial_number
这是单测模块:
run cts -m package_name -t module_name -s serial_number
这是单测包:
run cts -m package_name -s serial_number


六,测试可能出现的问题以及疑问
测试中过程中断了,提示出问题
1.前期的测试的准备没有做完
2.测试样机存储不足,装不上 apk
3.pc 没有存储了或 pc 端某个文件出问题了
4.样机可能没有电了
5.样机软件做的有问题,导致重启或卡死
….

测试中出现不断的超时,每一项都会报超时 15min 或更久

原因:可能是某个进程被杀死或卡住其他进程了,导致当前进程一直超时

解决方案:重启样机或恢复出厂设置再继续测试

遇到公司要断电了怎么处理?
kill 每个窗口的测试,然后保存报告,等来电之后继续测试,否则断电了报告是无法保存的,全部重新测试

测试报告在哪?
tools 文件夹同级目录下的 results 目录下就是测试报告了,另外每个 resul 目 录下面都会在同级目录下的 logs 目录都会有相同的文件名字,这个测试的 log,报告一直测试不完全,怎么复测都不行,一定是某些 fail 项没有解掉导致的,或用了–exclude-filter 命令引起的,还有一种可能是 google 设计这个工具的时候就是这样的
把别人的报告拷贝到自己的 results 目录下测试的时候,不能复测

原因:可能是工具本身设计问题或环境问题,也有可能是报告被修改了

解决方法:重新解压一个工具再放到里面测试

测试中出现 adb server 总是被 restart 导致很多 fail 出现

这可能可样机驱动有关,也可能链接太多的样机导致供电有问题




页: [1]
查看完整版本: Android GMS测试 CTS>S测试入门