CTS兼容性测试的使用方法
1.搭建环境
首先获取CTS测试安装包,可以从谷歌官网获取https://source.android.google.cn
需要注意的是,需要根据设备的安卓版本来选择不同的CTS 测试包。

理论上,谷歌提供了linux和window的安装环境,但是一般情况均在linux下执行测试。
另:window环境下的Android 12以上的版本需要连接外网操作才可以完成环境配置,Android 11的版本在window环境下可以使用 cts-tradefed,即可在window环境下打开CTS的控制台进行测试。
但是,不要紧,最后会介绍一种简单快捷的测试方法。

安装过程中可能出现的几个问题:
(1)JDK版本不匹配

(2)JDK 相关bin文件和cts-tradefed权限不够
配置好CTS环境后,连接Android设备,将CTS测试所需要的设备要求打开,例如打开保持常亮,连接wifi等等,即可进行CTS测试了!
2.测试手法

3.便捷测试
大家发现没有,如果一个测试工程师来配置CTS环境进行测试,使用谷歌提供的标准方式是很正规快捷的,但是对于一个研发人员,譬如测试工程师发现了一个CTS fail的问题,研发还需要本地配置环境来进行测试验证,这将大大降低了研发的解决效率,这不是一个切实可行的方法。
不要急,本人还有一套针对研发的同学进行快捷高效的CTS测试方法。
研发的同学往往不会需要对CTS整体的测试,只需要某个类或者某个模块的结果。
可以通过安装cts测试包 + am命令行,进行测试。
首先下载 x86的CTS安装包,在android-cts/testcases目录下,有对应的CTS 测试apk,将其安装到Android设备上。

安装完成后,将apk的权限全部打开。
再执行am命令:
am instrument -w -r -e newRunListenerMode true -e class android.media.cts.CameraProfileTest android.media.cts/androidx.test.runner.AndroidJUnitRunner
标注的位置表示测试的某个类或某个某个模块,甚至可以测试某类下的单独一个case。例如,测试camera类下的RobustnessTest模块的testMandatoryOutputCombinations测试项,只需要在类后添加#即可。
am instrument -w -r -e newRunListenerMode true -e class android.hardware.camera2.cts.RobustnessTest#testMandatoryOutputCombinations android.camera.cts/androidx.test.runner.AndroidJUnitRunner
执行后的测试结果,会显示执行时间和是否pass。

这样,就通过安装测试apk,再执行am命令就可以完成一个简单的CTS测试了,这种是不是比上面标准的测试方法简单很多。
大家可以快去试试吧!
浙公网安备 33010602011771号