CTS测试的相关方法.docx
- 文档编号:27699877
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:9
- 大小:304.33KB
CTS测试的相关方法.docx
《CTS测试的相关方法.docx》由会员分享,可在线阅读,更多相关《CTS测试的相关方法.docx(9页珍藏版)》请在冰豆网上搜索。
CTS测试的相关方法
CTS认证
背景:
首先明确Android系统版本,不同版本需要下载对应CTS和CTSVerifier包,详见3.1。
例如
东芝L5450C机型,使用RTD2993机芯,基于Android4.2系统。
方案商:
Realtek
机芯提供商:
泰霖
本文以RTD2993为例,RTD2993已通过GoogleCTS认证。
目的:
用于CTS认证参考。
包含:
CTS测试、合作方式、CTS认证流程等。
一合作方式
方案商(Mstar、MTK、Realtek等)维持系统公版软件CTS状态,ODM和外协厂(泰霖等)确保后续软件更改不影响CTS认证,并负责测试CTS和CTSVerifier,然后出测试报告给客户(东芝、三洋等),最后客户使用对应的软件版本和测试报告到Google获取CTS证书。
在东芝第一次向Google申请CTS认证时期(2星期~4星期),东芝要求不要改动Android部分,可以更改TV部分。
当第一次获取CTS证书后,每次的升级版本必须再次向google取得认证,时间缩短到一周内。
向Google提交的报告:
CTS测试报告(包含自动生成的测试报告和未通过项的解释)
CTSVerifier测试报告
在进行CTS认证前,东芝会进行CTS测试项的核对。
如下面文档描述:
二测试环境和工具
测试电脑:
需安装Ubuntu系统(推荐12.04,需安装SDK和JavaJDK)。
需要串口线一根、网线一根。
CTS测试工具包和CTSverifier测试apk。
并且Wifi要常连互联网,所访问的互联网要能绕过中国防火墙,能顺利访问国外网络。
测试工具下载地址:
RT2993使用Android4.2测试工具包。
并且到该网页的最新端,下载CTSMedia1.0测试视频。
三CTS测试
3.1RT2993测试
下载CTS测试工具:
()
Android4.2CompatibilityDefinitionDocument(CDD):
描述CTS个项测试细节,和对各项细节的详细要求。
有些是必须完成的,有些是可选的。
Android4.2R4CompatibilityTestSuite(CTS):
CTS测试工具包。
Android4.2R5CTSVerifier:
CTSVerifier的测试工具。
CTSMedia1.0:
用于CTS测试的多媒体文件。
注:
CTSVerifier是对CTS的补充测试,据Realtek消息,可以有失败项。
泰霖测试步骤:
第一步使用网线连接电脑和电视。
1将电视和电脑连在同一个局域网(建议使用路由器将电视和电脑连接,不要用网线直连,用网线直连会是Wifi无法连接)。
注:
2993进入开发者选项方式:
设置->关于电视->版本号。
点击版本号5下,开启开发者模式,退到设置主界面,选择开发者选项,勾选“USB调试”
LinuxPCipaddress:
192.168.1.3;
deviceipaddress:
192.168.1.2
在LinuxPC上输入命令:
adbconnect192.168.1.2
输入adbdevices:
证明PC和电视连接成功。
第二步配置CTS测试环境
解压缩Android4.2R4CompatibilityTestSuite(CTS)和CTSMedia1.0
1确保adb命令在系统path中
2进入“Setting”->“Factorydatareset”,恢复出厂设置。
3安装CtsDelegatingAccessibilityService.apk、CtsDeviceAdmin.apk
打开终端,进入android-cts/repository/test/cases目录。
使用adbinstall安装这两个apk。
4确保Wifi一直处于打开状态,并保证可以访问国外网站。
如:
5在Setting里面的其他设置:
1>确保系统没有屏幕锁Settings-->Security-->screenlock-->none
2>makesureSettings-->Developeroptions-->Allowmocklocation(勾选)
3>Settings-->Security-->Unknowsources(不要勾选)
4>settings->LanguageandInput->Language->English(US)
5>settings->LanguageandInput->Default->English(US)Androidkeyboard(AOSP)
6>Settings-->Security-->Deviceadministratiors(下面的勾选上)
android.deviceadmin.cts.CtsDeviceAdminReceiver
android.deviceadmin.cts.CtsDeviceAdminReceiver2
6在android-cts-media-1.0目录下执行:
copy_media.sh脚本
7进入android-cts/tools目录,在终端执行命令cts-tradefed.
会进入cts-tradefed命令端口
8执行默认的cts测试:
runcts--planCTS
会进行完整的CTS测试,也是必须向google提交的结果。
注:
在测试过程中,电视有可能重启,电视重启后,要重新使用adbconnect连接电视。
然后,CTS测试会自动接着之前的测试结果开始。
另外,在测试CTS的时候,不要安装CtsVerifier.apk
第三步,分析测试结果
测试完成后,进入目录android-cts/repository/results
里面会生成一个测试文件夹和压缩包,已时期时间命名。
例如:
2014.02.18_14:
00:
12.aip和2014.02.18_14:
00:
12/
在2014.02.18_14:
00:
12/目录下,有testResult.xml文件,用浏览器打开查看结果。
关注fail项,并解决。
测试结果:
下面是从深圳研发总部获取到的CTS测试资料,涵盖许多测试技巧:
3.2遇到的问题
1在测试过程中,电视异常会重启
当测试CTS时,发现电视重启,不要在PC上终止测试命令,另开一个终端,在电视重启后,使用adbconnect重新连接。
2第三方应用的影响
在RT2993上,主要是百事通和欢网的应用影响到CTS测试。
第三方应用会导致两种失败项:
1》签名
android.security.cts.PackageSignatureTest
--testPackageSignatures
fail
junit.framework.AssertionFailedError:
Thesepackagesshouldnotbesignedwithawellknownkey:
[com.kandian.crazysearch4yt,com.bestv.ctv]atandroid.security.cts.PackageSignatureTest.testPackageSignatures(PackageSignatureTest.java:
62)
2》
从上面测试结果,看到签名有问题的应用程序名字:
com.kandian.crazysearch4yt,com.bestv.ctv,分别是百事通的搜索应用和在线视频应用。
修改方法:
要求百事通使用了系统的平台签名,通过。
也可以使用百事通自制的签名,但是要合法。
3》调试设置
android.permission.cts.DebuggableTest
--testNoDebuggable
fail
junit.framework.AssertionFailedError:
Packagesmarkeddebuggable:
[com.kandian.crazysearch4yt,com.bestv.ctv]atandroid.permission.cts.DebuggableTest.testNoDebuggable(DebuggableTest.java:
45)
修改方法:
在应用工程AndroidManifest.xml文件中,在Application标签里加上
android:
debuggable=“false”属性,通过。
3网络影响
一定要再翻墙的网络下,并且网络要流畅,否则会有许多意想不到的失败项。
4及时送认证
为了能及时送CTS认证,最好每个星期要进行一遍完整测试。
因为,在修改Android方面的bug时,经常会出现新增的CTS失败项。
比如:
更改了默认输入法,也导致CTS测试时,一个网络端口被永久监听的失败项。
在进行了AndroidFramework层修改后,要及时进行测试。
3.3失败项和解释
对于CTS失败项,有些受限于电视平台,如媒体格式支持情况。
有些受限于被测试网站的协议更改,如的访问。
故泰霖和Realtek给出了解释。
AboutCTSresult,Fail5items:
=>NeedWaive.TVL5450CisUSBhost,notdevice.
=>NeedWaive.GoogleblowuarlcannotrespondbypostmethodrequestsinceFeb.2014
Followdevicesarefailedtoo,testat3/4/2014
HTCM7(mobilephone)Fail
LGNexus5(mobilephone)Fail
ToshibaL4300(TV)Fail
=>NeedWaive.YouTubeblowurlcannotaccess.
=>NeedWaive.TVL5450CuseRTD2993,donosupportHTTPH264stream.
四CTSVerifier测试
CTSVerifier是对CTS的补充测试,侧重于设备(Device)硬件。
4.1RT2993测试
第一步,使用网线连接电脑和电视。
同上面CTS第一步步。
第二步,配置CTSVerifier设置
同CTS测试第二步。
然后安装一个CTSVerifier测试apk。
在电视上打开CTSVerifier应用程序。
手动操作,逐行点击各测试项。
按照提示测试各项后,点击右上角的保存。
第三步,查看结果
进入下面目录拷贝测试结果:
/storage/emulated/legacy/ctsVerifierReports
测试结果:
4.2遇到的问题
1CtsVerifier.apk安装不上。
USBAccessoryTest测试,会依赖一个useaccessory动态库。
检测系统是否装了这个动态库,需要方案商提供,并进行系统这方面相关配置。
手机进行这项测试,网上给的方法:
1.sudovim/etc/udev/rules.d/51-android.rules
2.addtheSUBSYSTEM=="usb",ATTR{idVendor}=="1bbb",MODE="0666"andSUBSYSTEM=="usb",ATTR{idVendor}=="18d1",MODE="0666"inthefile
3.sudochmoda+r/etc/udev/rules.d/51-android.rules
4.sudoudevadmcontrol--reload-rules
5.sudo/etc/init.d/udevrestart
6.run./cts-usb-accessory
而在电视测试时,用网线连接,run./cts-usb-accessory结果异常。
2在测试LockScreen时,总是失败
要新建一个账号,然后再测试LockScreen会成功。
4.3失败项和解释
从上面的CTSVerifier测试结果可以看到,只有USBAccessoryTest失败。
原因:
电视没有像手机一样实现相同的USB模式。
如同CTS中USBAccessory的测试失败项。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CTS 测试 相关 方法