CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测试的功能,比如相机、传感器等。由于硬件配置或其他原因,不同手机上部分测试项目被隐藏,也就是说CTS Verifier中case的总数,取决于测试机支持哪些功能,
CTS Verifier总共包含以下15个功能:
· Camera
· Clock
· Device administration
· Features
· Hardware
· Job scheduler
· Location
· Managed Provisioning
· Networking
· Notifications
· Others
· Projection tests
· Security
· Sensors
· Streaming
测试之前的准备工作:
1. 从http://source.android.com/compatibility/downloads.html 中下载CTS Verifier的测试包并解压,如图1所示。
图1 CTS Verifier测试包下载
2. 把测试机刷成需要测试的版本。
3. 安装*/android-cts-verifier/CtsVerifier.apk。
4. 设置手机语言为English。
5. 打开蓝牙,无需配对。
6. 打开并连接可用wifi。
7. 请再另外准备一台手机,以便测server和client相关的case。
8. 必须首先测试Data Backup Tests, 因为如果做完别的测试之后,Data Backup Test测试失败,会清空测试log,所以必须最先做。
接下来就可以开始各个feature的测试了,以下是各个feature的测试办法总结。
Camera FOV Calibration
进入测试后点击屏幕拍照后点击Done 按钮(请保持点击频率不要过快,否则有可能引起应用报错),继续重复上述操作四次,第四次之后会自动返回cts-verifier主界面,同时显示测试结果,绿色为pass,红色为fail。
Camera Formats
先后预览Camera0 与Camera1在NV21和YV12模式下,各个分辨率的相机预览正确型后,选择PASS或者Fail。
Camera Intents
该测试主要分为4 步:
1. 点击Start Test 按钮开始测试,按HOME 键回到桌面选择并进入相机应用后拍摄一张照片,再次返回桌面,点击cts-verifier,如果PASS 按钮可点击则PASS,否则请检测操作是否正确并多次进行该操作,直到可以点击PASS 按钮。
2. 点击Start Test 按钮开始测试,按HOME 键回到桌面选择并进入相机应用后拍摄一个视频(不限时间),再次返回桌面,点击cts-verifier,
如果PASS 按钮可点击则PASS,否则请检测操作是否正确并多次进行该操作直到可以点击PASS 按钮。
3. 点击Start Test 按钮开始测试,自动跳转到相机后点击拍照,并点√进行保存,点击PASS 按钮。
4. 点击Start Test 按钮开始测试,自动跳转到录像机后拍摄一段视频,并点√进行保存,点击PASS 按钮。
Camera Orientation
该测试主要测试相机预览已经旋转视图的正确性,如图(例如该测试的第二项,检测预览是否正确,预览、拍照成像是否已经旋转90°,如果都正确这点击PASS),如图2所示。
图 2 Camera Orientation
Camera Video
该测试主要验证前后摄像头不同画质下的拍摄。先选择Camera0 摄像头与LOW 画质选项,点击Test。开始拍摄,稍后录像内容回放是如果检查拍摄无误,则更换HIGH 画质继续测试,以此类推。
Alarms and Timers Test
该测试主要验证闹钟已经计时器的正常运行,如果7项测试全部pass则点击PASS ,否则点击Fail。
Show Alarms Test
点击Show Alarms,正常进入闹钟列表后,按返回键回到测试界面,点击Pass。
Set Alarms Test
点击Set Alarm 按钮,进入闹钟界面,成功添加一组闹钟后,按返回键回到测试界面,点击Pass。
Start Alarms Test
点击Set Alarm,等待一分多钟以后,如果闹钟响,则点击Pass。
Full Alarm Test
点击Create Alarm 按钮,自动进入闹钟列表后查看是否有一个时间为:01:23,名称为“Create Alarm Test”的闹钟,如果有,返回点击PASS(闹钟详细信息如图3所示)
图 3 Full Alarm Test
Set Timer Test
点击Set timer 按钮就进入计时器界面后,手动设置一个倒计时,计时成功后返回cts-verifier,点击Pass 按钮。
Start Timer Test
点击Start Timer 按钮后,手机自动生成一个30s 的计时器,计时器正常响起后点击PASS。
Start Timer with UI Test
点击Start Timer 按钮后,手机自动进入Timer,并生成一个30s 的计时器,计时器正常响起后点击PASS。
Policy Serialization Test
进入测试后点击“GENERATE POLICY”按钮,再次点击“APPLY POLCY”按钮,点击“ACTIVE”按钮,点击“OK”以激活cts-verifier 设备管理器,按返回键返回cts-verifier测试目录,重启手机,再次进入Policy Serialization Test ,如果测试项全亮则点击Pass,如图4所示。
图4 Policy Serialization Test
Screen Lock Test
进入测试后(弹出提示框均为说明提示,点击OK 即可),点击Force Lock按钮,手机熄屏并上锁,按电源键唤醒屏幕,使用当前设置的解锁方式解锁,符合该操作流畅则PASS, 否则Fail。此处屏幕解锁方式不能为None。
Hardware/Software Feature Summary
进入测试后没有发现红色Fail 项,即可点击Pass,如图5所示。
图5 Hardware/Software Feature Summary
GPS Test
将手机置于空旷无阻挡的环境中,当所有的GPS的选项都通过时,屏幕会有pass的提示。注意有时网络不稳定时可能会失败,建议失败时多测试几次。
NFC Test
该功能是允许手机在接触其他硬件设备(交通卡,门禁卡等)时交换数据, 很多手机不支持这个功能,请仔细确认。如果5项测试全部pass, 则点击PASS,否则点击Fail。目前手机不支持,所以没有具体测试步骤,之后更新文档。
NDEF Push Sender
NDEF Push Receiver
NDEF
HCE reader tests
HCE emulator tests
USB Accessory Test
一般需要使用如下adb驱动版本
SUBSYSTEM="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="2d01",MODE="0666"
SUBSYSTEM="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="e781",MODE="0666", 添加到/etc/udev/rules.d/51-android.rules文件中,添加步骤如下:
1. Ctrl+Alt+T 调出终端,输入“cd /etc/udev/rules.d”;
2. 输入“sudo gedit 51-android.rules”,之后输入用户密码;在打开的51-android.rules文件中添加:
SUBSYSTEM="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="2d01",MODE="0666"
SUBSYSTEM="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="e781",MODE="0666"
3. Ctrl+S保存之后关闭即可;
但是特殊情况下,手机的Hardware ID会改变,此时手机连接PC,使用命令“lsusb”查看手机的ID,更改如下命令中的黄色部分:
SUBSYSTEM="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="e781",MODE="0666"
安装好adb驱动之后,进入*/android-cts-verifier,通过命令“./cts-usb-accessory”,执行脚本。正常情况下手机会弹出确认信息,点击确认后,手机端会发送一些message,此时pass选项亮显,则pass,否则fail,如图6,图7所示。
图6 PC message 图7 手机截图
Charging Constraints
拔掉USB,然后“START TEST”亮显,点击“START TEST”,等待几秒钟,第一个case显示绿色,然后插入USB,等待几秒钟,第二条case亮显,点击pass,否则点击fail。
Connectivity Constraints
关闭WiFi和数据流量,“START TEST”亮显,点击“START TEST”,等待几秒钟,底下三条case全部显示绿色,点击pass,否则点击fail。
Idle Mode Constraints
关闭屏幕,再次打亮屏幕,“START TEST”亮显,点击“START TEST”,等待几秒钟,底下两条case全部显示绿色,点击pass,否则点击fail。
Battery Saving Mode Test
点击第一个“LAUNCH SETTINGS”,打开Location,返回到cts-verifier,点击第二个“LAUNCH SETTINGS”,把location mode选为“Battery saving”,返回到cts-verifier,底下四条case都显示绿色,点击pas,否则点击fail。
Device Only Mode Test
点击第一个“LAUNCH SETTINGS”,打开Location,如果之前location就是打开状态,那第一个“LAUNCH SETTINGS”则是灰显的。直接点击第二个“LAUNCH SETTINGS”,把location mode选为“Device only”,返回到cts-verifier,底下四条case都显示绿色,点击pas,否则点击fail。
High Accuracy Mode Test
点击第一个“LAUNCH SETTINGS”,打开Location,如果之前location就是打开状态,那第一个“LAUNCH SETTINGS”则是灰显的。直接点击第二个“LAUNCH SETTINGS”,把location mode选为“High accuracy”,返回到cts-verifier,底下四条case都显示绿色,点击pas,否则点击fail。
Location Mode Off Test
点击 “LAUNCH SETTINGS”,关闭Location,返回到cts-verifier,底下四条case都显示绿色,点击pas,否则点击fail。
Device Owner Provisioning
点击“Device owner negative test”,点击“START PROVISIONING”,弹出显示“The device is already set up”的对话框后,点击OK,点击pass,否则点击fail。
Bluetooth Test
该功能是测试手机蓝牙的,需要另外一台安装了CtsVerifier.apk的手机(暂且叫做Refer)与测试机一起,分别进行server和client,测试相关的case。如果5项测试全部pass, 则点击PASS,否则点击Fail。
Toggle Bluetooth
点击“ENABLE BLUETOOTH”,弹出对话框,选择“ALLOW”,蓝牙被打开。点击“DISABLE BLUETOOTH”,蓝牙被关闭,PASS亮显,点击pass,否则fail。
Insecure Client
Refer手机打开Insecure Server,测试机点击“SCAN FOR DEVICES”,搜索到refer之后,点击refer,连接即可,点击pass,如果没有搜到,建议把client和server重新开关,多试几次。
Insecure Server
测试机点击进入 Insecure Server,Refer手机打开Insecure Client,点击“SCAN FOR DEVICES”,搜索到测试机后,点击refer,连接即可,则测试机点击pass,如果没有搜到,建议把client和 server重新开关,多试几次。
Secure Client
与Insecure Client操作一样,只是搜到之后要输入配对密码。
Secure Server
与Insecure Server操作一样,只是搜到之后要输入配对密码。
Wi-Fi Direct Test
该功能是测试手机WiFi的,需要另外一台安装了CtsVerifier.apk的手机(暂且叫做Refer)与测试机一起,分别进行server和client或者requester和responder,测试相关的case。如果6项测试全部pass, 则点击PASS,否则点击Fail。
GO Negotiation Responder Test
测试原理同蓝牙相似。
GO Negotiation Requester Test
测试原理同蓝牙相似。
Group Owner Test
测试原理同蓝牙相似。
Group Client Test
测试原理同蓝牙相似。
Service Discovery Responder Test
测试原理同蓝牙相似。
Service Discovery Requerter Test
测试原理同蓝牙相似。
CA Cert Notification Test
这个测试检查,当安装CA 证书时,是否有用户通知,里面的按钮依次点击,全部有通知用户的对话框弹出,即为pass,否则fail。
CA Cert Notification on Boot Test
点击“CHECK CREDENTIALS”,查看安装的证书,然后点击“INSTALL CREDENTIAL”,返回到cts-verifier,点击pass。
Notification Attention Management Test
测试之前需要按如下步骤设置:Settings–>Sound & notification –> Interruptions –> “Calls/messages from” –>”Starred contacts only”
1.点击第一个“LAUNCH SETTINGS”,打开“Notification access”,如果之前Notification access处于打开状态,则直接进行下一步操作。
2.调节音量键,在音量显示界面,选择“None”,返回到cts-verifier,点击“I’M DONE”,等待十秒左右,底下一条case变绿。
3. 再次调节音量键,在音量显示界面,选择“All”,返回到cts-verifier,点击“I’M DONE”,等待一分钟左右,底下9条case变绿。
3. 第三次调节音量键,在音量显示界面,选择“Priority”,返回到cts-verifier,点击“I’M DONE”,等待十秒钟左右,底下2条case变绿,Pass亮显,则pass,否则fail。
Notification Listener Test
点击第一个“LAUNCH SETTINGS”,打开“Notification access”,返回cts-verifier,等待十秒左右,底下五条case全部变绿。点击第二个“LAUNCH SETTINGS”, 关闭“Notification access”,返回cts-verifier,底下两条case全部变绿,则pass,否则fail。
Data Backup Test
第一次进入本项测试时,会弹出一个对话框(英文测试说明),直接点击OK。
点击Generate Test Data 按钮后会弹出一个对话框,点击Settings 按钮进入备份,设置勾选Back up my data 如图(如果没有该项选项,请联系开放关闭宏),如图8所示。
图8 Data backup
勾选后按返回按钮回到cts-verifier,再次点击Generate Test Data 按钮,在弹出框点击OK 按钮并截图。
运行如下命令(可在XP 或Ubuntu 下运行):
adb shell bmgr enable true
adb shell bmgr transport
android/com.android.internal.backup.LocalTransport
adb shell bmgr run
adb uninstall com.android.cts.verifier
adb install APK path
再次打开cts-verifier 进入Data Back Test 查看各项数值与保存图片中的数值是否一致,如果一致则点击PASS,否则Fail!
此测试检查Widget 框架的一些基本特征。为了进行测试,长按主屏幕任意位置,调出添加widgets的功能点击并添加名为CTS-verifier 的小部件到主屏幕。按照该插件的说明进行测试:
1. 点击cts-verifier 小部件中的Start Test 按钮。
2. 验证小部件的高度、宽度近似值。
3. 实时验证小部件的高度、宽度近似值(长按小部件后,可拖放改变该小部件大小)。
4. 直接Pass
5. 直接Pass
Projection Cube Test
点击进入,看到两个立方体转动,用手点击,且有立方体爆炸,则pass,否则fail。
Projection Multitouch Test
点击进入,一个手指点击屏幕,出现圆点,另外一个手指也点击屏幕,出现第二个圆点,并且圆点随着两根手指的移动而移动,则pass,否则fail。
Projection Offscreen Activity
按Lock键关闭屏幕,五秒钟之后手机会震动,之后按Lock键打亮屏幕,不要提前打亮屏幕,否则case有可能fail掉。显示“Success:xxxxx”,pass键亮显,则pass,否则fail。
Projection Scrolling List Test
能正常滑动屏幕上的50个item,则pass,否则fail。
Projection Video Playback Test
进入之后屏幕有白色矩形在闪,并伴随有嘀嘀声,则pass,否则fail。
Projection Widget Test
点击Up和Down键能亮显button按钮,并且手动点击button按钮,也能亮显,则pass,否则fail。
Keyguard Password Verification
点击“SET PASSWORD”设置一个包含数字与字母的密码,长度要求至少9 位。
点击“CHANGE PASSWORD” 修改密码。
SUID File Scanner
点击OK 会自动进行扫描,若符合测试要求扫描完成后会显示run-as 的绿色提示,即可点击左下角的pass 按钮,通过该项测试。
Accelerometer Measurement Tests
该测试主要测试加速器功能,主要分为六个步骤。
1.水平放置到桌面上,屏幕朝上,点击Next。
2.水平放置到桌面上,点击Next 后,迅速翻转手机使屏幕朝下,5s 左右后翻转手机查看结果(一般会有一声提示音)。
3.手机右侧边缘置于水平面,手机背部靠于垂直处,点击NEXT。查看结果。
4.手机左侧边缘置于水平面,手机背部靠于垂直处,点击NEXT。查看结果。
5.手机顶部边缘置于水平面,手机背部靠于垂直处,点击NEXT。查看结果。
6.手机底部边缘置于水平面,手机背部靠于垂直处,点击NEXT。查看结果。
CTS Sensor Batching Tests
测试步骤如下:
1. 开启飞行模式。
2. 关闭“Adaptive Brightness”。
3. 关闭“Auto-rotate screen”。
4. 关闭“Stay awake”。
5. 关闭“Location”。
6. 把手机置于水平桌面,然后点击“Next”,这时手机屏幕变黑,等待几分钟,等测试完毕,手机会发出嘀的一声,屏幕变亮,测试完成。在手机最底部会显示测试结果(Tests passed: xx, Tests skipped: xx, Tests failed:11),如果Tests skipped: 0, Tests failed:0, 则pass, 否则fail。
CTS Sensor Integration Tests
同上。
CTS Single Integration Test
同上。
Gyroscope Measurement Test
该测试主要测试陀螺仪功能,主要分为六个步骤。
1. 水平放置到桌面上,屏幕朝上,点击Next。
2. 水平放置到桌面上,点击Next 后,迅速翻转手机使屏幕朝下,5s 左右后翻转手机查看结果(一帮会有一声提示音)。
3. 手机右侧边缘置于水平面,手机背部靠于垂直处,点击NEXT,查看结果。
4. 手机左侧边缘置于水平面,手机背部靠于垂直处,点击NEXT,查看结果。
5. 手机顶部边缘置于水平面,手机背部靠于垂直处,点击NEXT,查看结果。
6. 手机底部边缘置于水平面,手机背部靠于垂直处,点击NEXT,查看结果。
Magnetic Field Measurement Tests
该case在8个不同方向测试磁场功能,请测试时尽量远离外界磁场。如果测试失败,建议去户外进行测试。
Sensor Batching Tests
测试步骤如下:
1. 开启飞行模式。
2. 关闭“Adaptive Brightness”。
3. 关闭“Auto-rotate screen”。
4. 关闭“Stay awake”。
5. 关闭“Location”。
6. 点击“Next”开始测试,在屏幕前方一直挥手,直到出现测试结果,再次点击“Next”开始下一条测试,按提示,仍然是在屏幕前方一直挥手……,请仔细查看每次点击Next之后弹出来的操作说明,之后的几条case,应该是,拿着手机走动。
Significant Motion Tests
点击“Next”,几秒钟之后,出现测试结果,如果背景为绿色,则pass,红色则fail,黄色则not support。
Streaming Video Quality Verifier
由于google问题,测试该项时请适当连接VPN。
顺序点击播放视频,若视频能正常流畅播放,则可点击左下角的pass 按钮,
通过该项测试,若六段视频均能通过测试则点击左下角的pass 按钮,通过该测试。
Cts Verifier 测试结果的处理
做完所有case之后点击cts-verifier主界面右上角的保存按钮,可到/sdcard/ctsVerifierReports中查看测试结果,测试结果文件名类似“ctsVerifierReport-2015.03.25-17.09.01-Rockchip-sofia3gr-sofia3gr-LRX22G.zip”。
可以参看android-cts-verifier-4.4_r3测试办法总结:
http://wenku.baidu.com/link?url=MVuUeCknWWjhcxmKC827gVVV7oYgPcJ36eGdf9NJyn4Lb_F-rgXjk0YfydSyEjy1eXPIoWj2e_rQ50u8HPKqnAiK5hoqASeCRJAoC1jH_l3