如何测试CTS2.3

来源:互联网 发布:域名续费便宜 编辑:程序博客网 时间:2024/05/18 02:35
 

CTS测试步骤 

 

前言: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 awakeallow mock locations三项

9.进入settings->accessibility,勾选accessibilityCtsDelegatingAccessibilityService两项

10.进入settings->language& keyboard->select lanuage,设为English(United States)

11.平台插入一张TF卡(最好是空卡)

12.平台接电源(手机一般通过USB充电,没有外接电源。Pad有外接电源)

  

第二部分:新建CTS测试任务(每次输入后加回车)

1.平台用USB线连接LinuxPC(连通后平台左上方会显示usbdebug 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(连通后平台左上方会显示usbdebug 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 timeEndtime时间,确定你要的任务的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.032011.05.12_13.00.03.zip

3.CTS测试任务完成后,打开这个文件夹中的testResult.xml(用firefoxIE浏览器打开),查看报表是否完全。

4.确认报表后,将整个文件夹复制出来,然后压缩后发给相关人员

 

 

第五部分:逐个对Fail的测试项进行测试(根据经验,有些Fail case测试第二遍会Pass)

1.前提条件是要保留之前的CTS测试报告文件夹,如果没有则无法重新测试

2.平台用USB线连接LinuxPC    (连通后平台左上方会显示usbdebugicon

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 timeEndtime时间,确定你要的任务的session编号)

7.输入ls-r fail -s #     (#表示 session编号,列出这个sessionfail的项目)

      终端显示  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 XXXXYYYYXXXXYYYY是指 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 timeEndtime时间,确定你要的任务的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文件夹中的历史报表(直接删除报表文件夹即可)

原创粉丝点击