Android CTS测试(2.2 2.3 4.0 4.1)
来源:互联网 发布:lumia 专用软件 编辑:程序博客网 时间:2024/05/29 12:29
CTS:Compatiable Test Suite
本文转载自subsist的博客http://blog.csdn.net/subsist/article/category/824984
CTS 2.3测试步骤
前言:CTS2.3测试方法几乎和CTS2.2相同,只有平台准备工作有差别。目前CTS2.3最新版本是r9,可以从android官网上下载。
第一:平台准备工作
第二:新建CTS测试任务
第三:继续以前未完成的CTS测试任务
第四:关于CTS测试报告
第五:逐个对Fail的测试项进行测试
第六:批量测试Fail和Timeout case
第七:注意事项
第一部分:平台准备工作
1.进入settings->Privacy->Factorydata reset,对平台进行reset一次(如果是自己的设备,就不要reset了,否则蛋疼……)
2.平台安装CtsDelegatingAccessibilityService.apk、CtsDeviceAdmin.apk 和 CtsPerformanceTestCases.apk。 (这3个apk都可以在cts测试包 repository/testcases文件夹中找到)
3.进入settings->Wireless& networks,连接AP (AP需要连外网,最好链接VPN),打开Bluetooth、GPS(如果有的话)
4.进入settings->display->screentimeout,设为never timeout,如果没有这个选项,则设为30 minutes
5.进入settings->display,勾选auto-rotatescreen
6.进入Settings -> Location & security -> Select device administrators,勾选所有选项(android.deviceadmin.cts.*)
7.进入settings->applications, 不要勾选Unknown sources选项
8.进入settings->applications->development,勾选USBdebugging, stay awake和allow mock locations三项
9.进入settings->accessibility,勾选accessibility和CtsDelegatingAccessibilityService两项
10.进入settings->language& keyboard->select lanuage,设为English(United States)
11.平台插入一张TF卡(最好是空卡)
12.平台接电源(手机一般通过USB充电,没有外接电源。Pad有外接电源)
第二部分:新建CTS测试任务
(每次输入后加回车)
1.平台用USB线连接LinuxPC(连通后平台左上方会显示usb和debug icon)
2.打开终端
3.输入sudosu -
输入root密码
4.输入cd ../..
输入 cd/home/linux/cts/android-cts-2.3_r9-x86/android-cts/tools (这个路径只是例子,各位需要输入实际路径)
输入 ./startcts
终端显示 Android CTS version 2.3_r9
Device(HT9CVP823190) connected (如果没有这行,说明设备没有和PC联通)
cts_host >
5.输入start --plan CTS
终端显示 There are 2 existing session(s) for plan CTS.
Create a new session or choose anexisting one?
Create a new session [0] (建立一个新测试任务)
Choose a session [1] (选择以前没有完成的测试任务)
6.输入数字 "0",开始CTS测试
第三部分:继续以前未完成的CTS测试任务
(每次输入后加回车)
1.平台用USB线连接LinuxPC(连通后平台左上方会显示usb和debug icon)
2.打开终端
3.输入sudosu -
输入root密码
4.输入cd ../..
输入 cd/home/linux/cts/android-cts-2.3_r9-x86/android-cts/tools
输入 ./startcts
终端显示 Android CTS version 2.3_r9 Device(HT9CVP823190) connected (如果没有这行,说明设备没有和PC联通)
cts_host >
5.输入ls -r
终端显示
List of all results:
Session Test result Pass Fail Timeout Omitted NotExecuted Start time End time Test plan name
1 851 10 0 0 12713 2011.05.17 16:24:06 2011.05.17 16:23:49 CTS
3 8584 47 1 0 4942 2011.05.19 15:03:25 2011.05.19 15:03:08 CTS
(根据start time和Endtime时间,确定你要的任务的session编号)
6.输入start --plan CTS
终端显示 There are 2 existing session(s) for plan CTS.
Create a new session or choose anexisting one?
Create a new session [0] (建立一个新测试任务)
Choose a session [1] (选择以前没有完成的测试任务)
7.输入数字 "1"
终端显示 Please choose a session from the existedsession(s):
1 [0]
3 [1]
(左边的数字是session的编号,右边方括号内的数字是session对应的选择用的数字)
8.例如,我们选择session 3
输入数字 "1"
终端显示 resume test plan CTS(session id = 3)
==============================================================
……
(此时CTS程序开始测试session3未完成的测试)
第四部分:关于CTS测试报告
1.CTS测试报告是自动生成一个xml报表,并自动填写的,不需要测试人员干预
2.当一个CTS测试任务开始时,会在android-cts-2.3_r9-x86/android-cts/repository/results中,为这个任务建立一个存放测试报告的文件夹和压缩包,文件名以任务开始的日期和时间命名。
例如:2011.05.12_13.00.03,2011.05.12_13.00.03.zip
3.CTS测试任务完成后,打开这个文件夹中的testResult.xml(用firefox或IE浏览器打开),查看报表是否完全。
4.确认报表后,将整个文件夹复制出来,然后压缩后发给相关人员
第五部分:逐个对Fail的测试项进行测试
(根据经验,有些Fail case测试第二遍会Pass)
1.前提条件是要保留之前的CTS测试报告文件夹,如果没有则无法重新测试
2.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debugicon)
3.打开终端
4.输入sudosu -
输入root密码
5.输入cd ../..
输入 cd/home/linux/cts/android-cts-2.3_r9-x86/android-cts/tools
输入 ./startcts
终端显示 Android CTS version 2.3_r9
Device(HT9CVP823190) connected (如果没有这行,说明设备没有和PC联通)
cts_host >
6.输入ls -r
终端显示
List of all results:
Session Test result Pass Fail Timeout Omitted NotExecuted Start time End time Test plan name
1 851 10 0 0 12713 2011.05.17 16:24:06 2011.05.17 16:23:49 CTS
3 8584 47 1 0 4942 2011.05.19 15:03:25 2011.05.19 15:03:08 CTS
(根据start time和Endtime时间,确定你要的任务的session编号)
7.输入ls-r fail -s # (#表示 session编号,列出这个session中fail的项目)
终端显示 Result of session 3
Result Case name
==============================================================
fail android.accessibilityservice.cts.AccessibilityEndToEndTest#testTypeViewSelectedAccessibilityEvent
fail android.accessibilityservice.cts.AccessibilityEndToEndTest#testTypeViewClickedAccessibilityEvent
fail android.accessibilityservice.cts.AccessibilityEndToEndTest#testTypeViewLongClickedAccessibilityEvent
……
8.start --plan CTS -t XXXX#YYYY(XXXX#YYYY是指 Casename)
例如: start --plan CTS -tandroid.accessibilityservice.cts.AccessibilityEndToEndTest#testTypeViewSelectedAccessibilityEvent
终端显示 Please choose a session from the existedsession(s):
1 [0]
3 [1]
9.输入数字"1",开始测试这个项目
10.测试完成后,可以接着测试下一项,直到全部完成。CTS会自动在测试报表中,将新的测试结果替换以前的测试结果。
第六部分:批量测试Fail和Timeout case
(警告:这操作是为了方便测试,决不能用此方法篡改测试结果去欺骗他人)
说明:有时测试后产生上百个甚至更多的Fail和Timeout case,一个个测试需要很多时间,而且Timeout case无法用第五部分的方法测试。但是,CTS会自动测试未测试的Case,就是"notExecuted case"。我们可以利用这一点,将测试结果中的Fail和Timeout case的状态改成"notExecuted",启动CTS选择"Choose a session",自动批量测试这些Case。
1.这个操作会修改测试报告的数据,所以之前一定要备份之前的CTS测试报告文件夹
2.打开终端(用鼠标在窗口操作更方便)
3.进入home/linux/cts/android-cts-2.3_r9-x86/android-cts/repositoy/results。在results文件夹内,按测试时间找到你要的测试结果文件夹,负责到桌面
4.在桌面进入这个文件夹,右击testresult.xml,选择open with-> text editor,以文本方式打开文件
5. 在打开后的testresult.xml文本文件中,点击search->replace,寻找所有的 "result="timeout" 和 "result="fail" 位置,并替换成 result="notExecuted"
例如:修改前
<TestCase name="ExpandableListActivityTest" priority="">
<Test endtime="Thu Jan 01 08:00:00 CST 1970" name="testSelect" "result="fail" starttime="Thu Jan 01 08:00:00 CST 1970"/>
<Test endtime="Thu Jan 01 08:00:00 CST 1970" name="testView" "result="timeout" starttime="Thu Jan 01 08:00:00 CST 1970"/>
修改后
<TestCase name="ExpandableListActivityTest" priority="">
<Test endtime="Thu Jan 01 08:00:00 CST 1970" name="testSelect" result="notExecuted" starttime="Thu Jan 01 08:00:00 CST 1970"/>
<Test endtime="Thu Jan 01 08:00:00 CST 1970" name="testView" result="notExecuted" starttime="Thu Jan 01 08:00:00 CST 1970"/>
修改后先保存结果。如果对修改结果有怀疑,可以不保存并退出,再次打开修改。
6.修改Case状态后,还要修改测试报告的统计数据
<Summary failed="0" notExecuted="2" pass="13702" timeout="0"/>
将failed和timeout归零,notExeuted数据等于修改过的fail和timeout总数
修改后先保存结果。
7.将修改后的"testresult.xml"连同另外4个文件替换掉android-cts-2.3_r9-x86/android-cts/repositoy/results中的文件。另外,原/repositoy/results文件夹和文件都有权限设置,所以在替换文件前,打开终端登录root帐号,用chmod命令修改权限。(具体操作在此不再描述)
8.打开终端
9.输入sudo su -
输入root密码
10.输入cd ../..
输入 cd/home/linux/cts/android-cts-2.3_r9-x86/android-cts/tools
输入 ./startcts
终端显示 Android CTS version 2.3_r9 Device(HT9CVP823190) connected (如果没有这行,说明设备没有和PC联通)
cts_host >
11.输入ls -r
终端显示
List of all results:
Session Test result Pass Fail Timeout Omitted NotExecuted Start time End time Test plan name
1 851 10 0 0 12713 2011.05.17 16:24:06 2011.05.17 16:23:49 CTS
3 8584 47 1 0 4942 2011.05.19 15:03:25 2011.05.19 15:03:08 CTS
(根据start time和Endtime时间,确定你要的任务的session编号)
12.输入start --plan CTS
终端显示 There are 2 existing session(s) for plan CTS.
Create a new session or choose anexisting one?
Create a new session [0] (建立一个新测试任务)
Choose a session [1] (选择以前没有完成的测试任务)
13.输入数字 "1"
终端显示 Please choose a session from the existedsession(s):
1 [0]
3 [1]
(左边的数字是session的编号,右边方括号内的数字是session对应的选择用的数字)
14.例如,我们选择session 3
输入数字 "1"
终端显示 resume test plan CTS(session id = 3)
==============================================================
……
(此时CTS程序开始测试session3 notExecuted的Case)
第七部分:注意事项:
1.CTS要求测试平台的硬件和Android内置APK功能完好
2.CTS每次执行start –plan CTS时,CTS会搜索android-cts-2.2_r4-x86/android-cts/repository/results中的历史报表文件夹。如果文件有很多,启动速度会非常慢。所以,请定期清理results文件夹中的历史报表(直接删除报表文件夹即可)
==================================================================CTS4.0测试步骤 V1.2 (更新到CTS4.0 R3)
第一:平台准备工作
第二:新建CTS测试任务
第三:关于CTS4.0测试报告
第四:继续测试未完成的计划
第五:单独对fail/notExecuted/timeout的测试项进行测试
第六:单独测试某个Case
第七:注意事项
----------------------------------------------
第一部分:平台准备工作
----------------------------------------------
1.进入settings->Privacy->Factorydata reset,对平台进行reset一次
2.平台插入一张空的TF卡
3.平台安装两个APK:CtsDelegatingAccessibilityService.apk,CtsDeviceAdmin.apk
4. 进入settings打开Wi-Fi并连接AP (AP需要连外网)
5.进入settings->Security->Screenlock设为None
6.进入settings->Security->EnableUnknown sources
7.进入settings->Security->Deviceadministrators->Enable两个选项
8.进入Language&input->language设为English(UnitedStates)
9.进入settings->Display->Sleep设为30minutes或None
10.进入settings->Accessibility->EnableDelegating Accessibility Service
11.进入settings->Developeroptions->Enable USB debugging、Stay awake、Allowmock locations
12.PC上copy“android-cts-media-1.0”,在android-cts-media-1.0文件下输入./copy_copy_media.sh运行脚本,将media文件copy进平台。成功后会在平台的内存中看到test文件夹。(此条适用于CTS4.0 R2和R3,R1上无需使用)
----------------------------------------------
第二部分:新建CTS测试任务
(每次输入后加回车)
----------------------------------------------
1.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debug icon)
2.打开终端
3.输入sudosu -
输入root密码
4.输入cd ../..
输入 cd /home/linux/cts/android-cts-4.0.3_r1-linux_x86-arm/android-cts/tools (这个是cts-tradefed文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.0.3_r1
cts-tf >
5.输入run cts --plan CTS
终端显示 cts-tf > run cts --plan CTS
cts-tf> 01-16 15:45:34 I/TestInvocation: Starting invocation for 'cts' on build'4.0.3_r1' on device 0123456789ABCDEF
01-16 15:45:35I/0123456789ABCDEF: Created result dir 2012.01.16_15.45.34
开始测试CTS
----------------------------------------------
第三部分:关于CTS4.0测试报告
----------------------------------------------
1.CTS测试报告是自动生成一个xml报表,并自动填写的,不需要测试人员干预
2.当一个CTS测试任务开始时,会在android-cts-4.0.3_r1-linux_x86-arm/android-cts/repository/results中,为这个任务建立一个存放测试报告的文件夹,文件名以任务开始的日期和时间命名。
例如:2012.01.12_13.00.03
3.CTS4.0生成测试报告的速度比CTS2.3/2.2要慢不少,特别是在测试过程中中断测试,CTS4.0需要70秒才会开始生成报告。如果你在此过程中按ctrl+c终止CTS进程,测试报告就无法生成,以后也无法继续测试未完成的计划。
下方是中途断开后生成报告的例子:
01-1813:50:19I/0123456789ABCDEF: android.accounts.cts.AccountManagerTest#testHasFeature FAIL
Testfailed to run to completion. Reason: 'Test run failed to complete. Expected 1tests, received 0'. Check device logcat for details
01-1813:51:29I/0123456789ABCDEF: android.accounts package complete: Passed 20, Failed 2, NotExecuted 6
01-1813:51:29 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:29 I/0123456789ABCDEF: Test package android.admin started
01-1813:51:29 I/0123456789ABCDEF: -----------------------------------------
……
01-1813:51:30 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:30 I/0123456789ABCDEF: Test package android.widget started
01-1813:51:30 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:30 I/0123456789ABCDEF: Saved log device_logcat_8558243668624894128.zip
01-1813:51:30 I/0123456789ABCDEF: Saved log host_log_6087775957743010530.zip
01-1813:51:30 I/0123456789ABCDEF: android.widget package complete: Passed 0, Failed0, Not Executed 988
01-1813:51:30 I/0123456789ABCDEF: Created xml report file at
file:///home/linux/cts/android-cts-4.0.3_r1-linux_x86-arm/android-cts/tools/./../../android-cts/repository/results/2012.01.18_13.43.56/testResult.xml
01-1813:51:31 I/0123456789ABCDEF: XML test result file generated at2012.01.18_13.43.56. Passed 28, Failed 20, Not Executed 17110
01-1813:51:31 I/0123456789ABCDEF: Time: 2m 45s
01-1813:51:33 W/DeviceManager: Freed device 0123456789ABCDEF is unavailable.Removing from use.
01-1813:52:38 E/BackgroundDeviceAction: Device 0123456789ABCDEF not online
3.CTS测试任务完成后,会生成testResult.xml和2012.01.12.zip打开这个文件夹中的testResult.xml(用firefox或IE浏览器打开),查看报表是否完全。
4.确认报表后,将整个文件夹复制出来,然后压缩后发给相关人员
----------------------------------------------
第四部分:继续测试未完成的计划
----------------------------------------------
CTS4.0对未完成的测试计划不会生成xml报告,这个和CTS2.3/2.2不同。但是,这并不意味测试中断后无法继续未完成的测试。
1. 前提条件是有未完成的测试计划
2. 平台用USB线连接LinuxPC (连通后平台右下方会显示usb和debugicon)
3. 打开终端
4. 输入sudo su –
输入root密码
5. 输入cd ../..
输入cd /home/linux/cts/android-cts-4.0.3_r1-linux_x86-arm/android-cts/tools(这个是startcts文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.0.3_r1
cts-tf >
6.输入l r
终端显示
Session Pass Fail Not Executed Start time Planname
0 7 0 0 2012.01.16_16.09.19 NA
1 13 0 0 2012.01.16_16.13.01 NA
2 19 19 17120 2012.01.18_13.43.56 CTS
(根据start time时间,确定你要的任务的session编号)
7. 输入 run cts –continue-session session_id (session编号)
终端显示
cts-tf> 01-18 13:48:45 I/TestInvocation: Starting invocation for 'cts' on build'4.0.3_r1' on device 0123456789ABCDEF
01-1813:49:59 I/0123456789ABCDEF: Collecting device info
01-1813:50:00 I/0123456789ABCDEF: -----------------------------------------
01-1813:50:00 I/0123456789ABCDEF: Test package android.accounts started
01-1813:50:00 I/0123456789ABCDEF: -----------------------------------------
----------------------------------------------
第五部分:单独对fail/notExecuted/timeout的测试项进行测试
----------------------------------------------
1.前提条件是已经有完成的测试结果testResult.xml文件 add derivedplan --plan plane_name --session/-s session_id-r [pass/fail/notExecuted/timeout]
2.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debugicon)
3.打开终端
4.输入sudosu -
输入root密码
5.输入cd ../..
输入 cd /home/linux/cts/android-cts-4.0.3_r1-linux_x86-arm/android-cts/tools (这个是startcts文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.0.3_r1
cts-tf >
6.输入l r
终端显示
Session Pass Fail Not Executed Start time Plan name
0 7 0 0 2012.01.16_16.09.19 NA
1 13 0 0 2012.01.16_16.13.01 NA
(根据start time时间,确定你要的任务的session编号)
7.输入addderivedplan --plan plane_name(新建一个测试计划) --session/-s session_id -r[pass/fail/notExecuted/timeout] (只能选择其中一项)
8.输入run cts –plan plane_name(新建的测试计划名称) 开始测试
9.测试完成后,CTS会自动生成一个新测试报表文件夹
----------------------------------------------
第六:单独测试某个Case
----------------------------------------------
1.目前对单个Case每单独测试一次,就会生成一个Session(和测试报告xml)。所以,一般在有需求的情况下才会进行测试。
2.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debugicon)
3.打开终端
4.输入sudosu -
输入root密码
5.输入cd ../..
输入 cd /home/linux/cts/android-cts-4.0.3_r1-linux_x86-arm/android-cts/tools (这个是startcts文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.0.3_r1
cts-tf >
6.从CTS测试报告XML文件中查找需要测试的Case的packagename 和 method name
例如:
按上方的例子:android.acceleration.cts.HardwareAccelerationTest是package name,testIsHardwareAccelerated是method name
7.输入runcts -c android.acceleration.cts.HardwareAccelerationTest --m testIsHardwareAccelerated开始测试这个Case
8. 测试完成后,CTS会自动生成一个新测试报告文件夹----------------------------------------------
第七部分:注意事项:
----------------------------------------------
1.CTS4.0的命令和CTS2.3/2.3完全不同,所以在进入CTS后,先输入help看看命令的格式和意思。
2.CTS要求测试平台的硬件和Android内置APK功能完好
3.正常测试一次CTS,需要8小时。所以,测试时请接上电源,并尽量在晚上测试,不会影响平台的使用
4.CTS是自动化测试,测试过程中一般不需要人的干预。如果在上班时间,每1-2小时观察下即可
5.CTS4.0在测试过程中断开、终止都不会生成测试报告,所以,测试前要保证USB连接稳定和平台设置
6.CTS每次执行run cts –plan CTS时,CTS会搜索android-cts-4.0.3_r#-linux_x86-arm/android-cts/repository/results中的历史报表文件夹。如果文件有很多,启动速度会非常慢。所以,请定期清理results文件夹中的历史报表(直接删除报表文件夹即可)
CTS4.1测试步骤 V1.0 (更新到CTS4.1 R1)
前言:其实CTS4.1 R1的测试方法和CTS4.0 R2&R3一样,只是测试环境需要新的SDK r20.0.1,SDK下载链接:http://developer.android.com/sdk/index.html
所以这篇文章有点偷懒了,呵呵。
第一:平台准备工作
第二:新建CTS测试任务
第三:关于CTS4.1测试报告
第四:继续测试未完成的计划
第五:单独对fail/notExecuted/timeout的测试项进行测试
第六:单独测试某个Case
第七:注意事项
----------------------------------------------
第一部分:平台准备工作
----------------------------------------------
1.进入settings->Privacy->Factorydata reset,对平台进行reset一次
2.平台插入一张空的TF卡
3.平台安装两个APK:CtsDelegatingAccessibilityService.apk,CtsDeviceAdmin.apk
4. 进入settings打开Wi-Fi并连接AP (AP需要连外网)
5.进入settings->Security->Screenlock设为None
6.进入settings->Security->EnableUnknown sources
7.进入settings->Security->Deviceadministrators->Enable两个选项
8.进入Language&input->language设为English(UnitedStates)
9.进入settings->Display->Sleep设为30minutes或None
10.进入settings->Accessibility->EnableDelegating Accessibility Service
11.进入settings->Developeroptions->Enable USB debugging、Stay awake、Allowmock locations
12.PC上copy“android-cts-media-1.0”,在android-cts-media-1.0文件下输入./copy_copy_media.sh运行脚本,将media文件copy进平台。成功后会在平台的内存中看到test文件夹。Media file下载链接:CTS Media 1.0 (下载后需要解压)
----------------------------------------------
第二部分:新建CTS测试任务(每次输入后加回车)
----------------------------------------------
1.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debug icon)
2.打开终端
3.输入sudosu -
输入root密码
4.输入cd ../..
输入 cd /home/linux/cts/android-cts-4.1_r1-linux_x86-arm/android-cts/tools (这个是cts-tradefed文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.1_r1
cts-tf >
5.输入run cts --plan CTS
终端显示 cts-tf > run cts --plan CTS
cts-tf> 01-16 15:45:34 I/TestInvocation: Starting invocation for 'cts' on build'4.1_r1' on device 0123456789ABCDEF
01-16 15:45:35I/0123456789ABCDEF: Created result dir 2012.01.16_15.45.34
开始测试CTS
----------------------------------------------
第三部分:关于CTS4.0测试报告
----------------------------------------------
1.CTS测试报告是自动生成一个xml报表,并自动填写的,不需要测试人员干预
2.当一个CTS测试任务开始时,会在android-cts-4.1_r1-linux_x86-arm/android-cts/repository/results中,为这个任务建立一个存放测试报告的文件夹,文件名以任务开始的日期和时间命名。
例如:2012.01.12_13.00.03
3.CTS4.0生成测试报告的速度比CTS2.3/2.2要慢不少,特别是在测试过程中中断测试,CTS4.0需要70秒才会开始生成报告。如果你在此过程中按ctrl+c终止CTS进程,测试报告就无法生成,以后也无法继续测试未完成的计划。
下方是中途断开后生成报告的例子:
01-1813:50:19I/0123456789ABCDEF: android.accounts.cts.AccountManagerTest#testHasFeature FAIL
Testfailed to run to completion. Reason: 'Test run failed to complete. Expected 1tests, received 0'. Check device logcat for details
01-1813:51:29I/0123456789ABCDEF: android.accounts package complete: Passed 20, Failed 2, NotExecuted 6
01-1813:51:29 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:29 I/0123456789ABCDEF: Test package android.admin started
01-1813:51:29 I/0123456789ABCDEF: -----------------------------------------
……
01-1813:51:30 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:30 I/0123456789ABCDEF: Test package android.widget started
01-1813:51:30 I/0123456789ABCDEF: -----------------------------------------
01-1813:51:30 I/0123456789ABCDEF: Saved log device_logcat_8558243668624894128.zip
01-1813:51:30 I/0123456789ABCDEF: Saved log host_log_6087775957743010530.zip
01-1813:51:30 I/0123456789ABCDEF: android.widget package complete: Passed 0, Failed0, Not Executed 988
01-1813:51:30 I/0123456789ABCDEF: Created xml report file at
file:///home/linux/cts/android-cts-4.0.3_r1-linux_x86-arm/android-cts/tools/./../../android-cts/repository/results/2012.01.18_13.43.56/testResult.xml
01-1813:51:31 I/0123456789ABCDEF: XML test result file generated at2012.01.18_13.43.56. Passed 28, Failed 20, Not Executed 17110
01-1813:51:31 I/0123456789ABCDEF: Time: 2m 45s
01-1813:51:33 W/DeviceManager: Freed device 0123456789ABCDEF is unavailable.Removing from use.
01-1813:52:38 E/BackgroundDeviceAction: Device 0123456789ABCDEF not online
3.CTS测试任务完成后,会生成testResult.xml和2012.01.12.zip打开这个文件夹中的testResult.xml(用firefox或IE浏览器打开),查看报表是否完全。
4.确认报表后,将整个文件夹复制出来,然后压缩后发给相关人员
----------------------------------------------
第四部分:继续测试未完成的计划
----------------------------------------------
CTS4.1对未完成的测试计划不会生成xml报告,这个和CTS2.3/2.2不同。但是,这并不意味测试中断后无法继续未完成的测试。
1. 前提条件是有未完成的测试计划
2. 平台用USB线连接LinuxPC (连通后平台右下方会显示usb和debugicon)
3. 打开终端
4. 输入sudo su –
输入root密码
5. 输入cd ../..
输入cd /home/linux/cts/android-cts-4.1_r1-linux_x86-arm/android-cts/tools(这个是startcts文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.1_r1
cts-tf >
6.输入l r
终端显示
Session Pass Fail Not Executed Start time Planname
0 7 0 0 2012.01.16_16.09.19 NA
1 13 0 0 2012.01.16_16.13.01 NA
2 19 19 17120 2012.01.18_13.43.56 CTS
(根据start time时间,确定你要的任务的session编号)
7. 输入 run cts –continue-session session_id (session编号)
终端显示
cts-tf> 01-18 13:48:45 I/TestInvocation: Starting invocation for 'cts' on build'4.1_r1' on device 0123456789ABCDEF
01-1813:49:59 I/0123456789ABCDEF: Collecting device info
01-1813:50:00 I/0123456789ABCDEF: -----------------------------------------
01-1813:50:00 I/0123456789ABCDEF: Test package android.accounts started
01-1813:50:00 I/0123456789ABCDEF: -----------------------------------------
----------------------------------------------
第五部分:单独对fail/notExecuted/timeout的测试项进行测试
----------------------------------------------
1.前提条件是已经有完成的测试结果testResult.xml文件 add derivedplan --plan plane_name --session/-s session_id-r [pass/fail/notExecuted/timeout]
2.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debugicon)
3.打开终端
4.输入sudosu -
输入root密码
5.输入cd ../..
输入 cd /home/linux/cts/android-cts-4.1_r1-linux_x86-arm/android-cts/tools (这个是startcts文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.0.3_r1
cts-tf >
6.输入l r
终端显示
Session Pass Fail Not Executed Start time Plan name
0 7 0 0 2012.01.16_16.09.19 NA
1 13 0 0 2012.01.16_16.13.01 NA
(根据start time时间,确定你要的任务的session编号)
7.输入addderivedplan --plan plane_name(新建一个测试计划) --session/-s session_id -r[pass/fail/notExecuted/timeout] (只能选择其中一项)
8.输入run cts –plan plane_name(新建的测试计划名称) 开始测试
9.测试完成后,CTS会自动生成一个新测试报表文件夹
----------------------------------------------
第六:单独测试某个Case
----------------------------------------------
1.目前对单个Case每单独测试一次,就会生成一个Session(和测试报告xml)。所以,一般在有需求的情况下才会进行测试。
2.平台用USB线连接LinuxPC (连通后平台左上方会显示usb和debugicon)
3.打开终端
4.输入sudosu -
输入root密码
5.输入cd ../..
输入 cd /home/linux/cts/android-cts-4.1_r1-linux_x86-arm/android-cts/tools (这个是startcts文件所在路径,各位需要输入实际路径)
输入 ./cts-tradefed
终端显示 01-16 15:44:05 I/DeviceManager: Detected newdevice 0123456789ABCDEF(如果没有这行,说明设备没有和PC联通)
Android CTS 4.1_r1
cts-tf >
6.从CTS测试报告XML文件中查找需要测试的Case的packagename 和 method name
例如:
按上方的例子:android.acceleration.cts.HardwareAccelerationTest是package name,testIsHardwareAccelerated是method name
7.输入runcts -c android.acceleration.cts.HardwareAccelerationTest --m testIsHardwareAccelerated开始测试这个Case
8. 测试完成后,CTS会自动生成一个新测试报告文件夹----------------------------------------------
第七部分:注意事项:
----------------------------------------------
1.CTS4.1的命令和CTS2.3/2.3完全不同,所以在进入CTS后,先输入help看看命令的格式和意思。
2.CTS要求测试平台的硬件和Android内置APK功能完好
3.正常测试一次CTS4.1,需要6小时。所以,测试时请接上电源,并尽量在晚上测试,不会影响平台的使用
4.CTS是自动化测试,测试过程中不需要人的干预。如果在上班时间,每1-2小时观察下即可
5.CTS4.1在测试过程中断开、终止都不会生成测试报告,所以,测试前要保证USB连接稳定和平台设置
6.CTS每次执行run cts –plan CTS时,CTS会搜索android-cts-4.1_r#-linux_x86-arm/android-cts/repository/results中的历史报表文件夹。如果文件有很多,启动速度会非常慢。所以,请定期清理results文件夹中的历史报表(直接删除报表文件夹即可)
- Android CTS测试(2.2 2.3 4.0 4.1)
- Android 4.0.3 CTS 测试
- Android 4.0.3 CTS 测试
- Android 4.0.3 CTS 测试
- Android 4.0.3 CTS 测试
- Android CTS 测试研究
- Android的CTS测试
- Android的CTS测试
- Android CTS 测试 过程
- Android CTS 测试总结
- Android CTS 测试
- Android CTS 测试总结
- Android CTS 测试研究
- Android CTS 兼容性测试
- android兼容性测试CTS
- Android CTS 测试总结
- Android的CTS测试
- Android CTS 测试常见问题
- 用SQL语句添加删除修改字段
- linux nfs boot configure
- Flash中的计时器
- Set VNC View Size
- QTableWidget 剪辑
- Android CTS测试(2.2 2.3 4.0 4.1)
- MySQL用户账号管理(添加、删除、限制、设置密码、远程访问)
- 开源中国iOS客户端学习——(二)下拉刷新特效EGOTableViewPullRefresh
- wamp5 织梦环境搭建
- 由 bind_mismatch 引起的 大量 version_count 问题
- JSP总结(一)
- 杂记之C语言之结构(三)
- 解决getOutputStream() has already been called for this response
- TI DSP hex2000.exe使用