【Android】CTS测试

【写在前面】
网上资料梳理,侵删烦请联系。或有表达错误,欢迎指出纠正。
【参考引用】
https://blog.youkuaiyun.com/sgzy001/article/details/14648081

CTS

CTS是什么

为了保证开发的应用在所有兼容Android的设备上正常运行,并保证一致的用户体验,Google制定了CTS(Compatibility Test Suite)来确保设备运行的Android系统全面兼容Android规范,Google也提供了一份兼容性标准文档(Compatibility Definition Document, CDD)。

CTS测试过程

cts一般采用全包测试(测一半,效果高)命令。
①连接手机,测试时不能黑屏;(adb devices查看已识别和连接设备)
②进入:Desktop/CTS/CTS10R3(版本自选)/android-cts
③该目录下右键open in Terminal:
/android-cts# ./tools/cts-tradefed
④出现cts-tf > :复制全包测试(测一半,效果高)命令
整个测试时间会很长,甚至持续一周。
⑤测试结束后
Desktop/CTS/CTS10R3(版本自选)/android-cts/results里会自动生成所有文档,进入当前文档可查看test_result结果。
Desktop/CTS/CTS10R3(版本自选)/android-cts/logs进入生成的对应文档,打开device_logcat_setup_***查看日志,据此查看具体错误。
注:测试环境执行测试命令后,若出现安装,则始终允许并安装,直到开始出现passed。

CTS测试

全包测试

run cts -m CtsCameraTestCases  -a arm64-v8a  --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker
run cts -m CtsCameraTestCases  -a armeabi-v7a  --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker

单包测试

将failed项单独进行测试。

run cts -m CtsCameraTestCases -t android.hardware.camera2.cts.MultiViewTest#testDualCameraPreview -a arm64-v8a --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker

其中,android.hardware.camera2.cts.MultiViewTest#testDualCameraPreview为failed项,可进行更改。

测试问题

①输入命令无反应
直接执行:

run cts -m CtsCameraTestCases -t android.hardware.camera2.cts.MultiViewTest#testDualCameraPreview

②单包自测cts,failed项与success项一直为0

run cts -m CtsCameraTestCases -t android.hardware.camera2.cts.StillCaptureTest#testJpegExif[1] -a arm64-v8a

fail项修改

修改cts的bug不是修改cts testcase的代码。
过cts的目的是为了让系统可以兼容更多的app,当cts某条case fail时,说明系统存在问题,需要修改系统代码去让cts pass。

修改cts bug时,通过查看android-cts/results目录下的testResult.xml文件,找到fail原因,一般testResult.xml文件中会标示出fail的test class 所在行。
查找关键词 Test result=“fail”

camera参数配置检查:

adb shell dumpsys media.camera -v 1 > xxx.log

检查camera参数与报错参数是否一致。

常见报错

android.hardware.camera2.cts.RecordingTest#xxxxx
报错类似:

Camera 0: Video duration doesn't match: recorded 2564.000000ms, expected [4640.000000,6960.000488]ms.

解决方法:
第一种修改media profiles对应Camera,对应fail项size的frameRate和drvier输出的帧率一致;
第二种修改drvier对应video size的帧率和media profiles一致。
另:media profiles的文件在手机中的位置(可以直接修改push验证,也可以确认修改是否正确生效):/vendor/etc/media_profiles_V1_0.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值