CTS测试环境的配置和CTS命令解释.docx
- 文档编号:9813239
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:8
- 大小:19.24KB
CTS测试环境的配置和CTS命令解释.docx
《CTS测试环境的配置和CTS命令解释.docx》由会员分享,可在线阅读,更多相关《CTS测试环境的配置和CTS命令解释.docx(8页珍藏版)》请在冰豆网上搜索。
CTS测试环境的配置和CTS命令解释
1.配置CTS
(1)前提条件:
.PC上安装的是UbuntuLinux操作系统(比如Ubuntu10.04)。
.PC上安装了AndroidSDK(下载地址:
SDK配置了环境变量:
.在LinuxCommand窗口输入以下命令:
Øenv
可查看到当前PATH的值为:
PATH=/home/username/bin:
/usr/local/sbin:
/usr/local/bin:
/usr/sbin:
/usr/bin:
/sbin:
/bin:
/usr/games:
/home/username/bin:
.再输入以下命令,将AndroidSDK路径加入到环境变量中:
Øexport
PATH=/home/username/bin:
/usr/local/sbin:
/usr/local/bin:
/usr/sbin:
/usr/bin:
/sbin:
/bin:
/usr/games:
/home/username/bin:
/home/username/android-sdk-linux_86/platform-tools:
/home/username/android-sdk-linux_86/tools
Note:
1>各环境变量之间用冒号隔开
2>如果PATH中已添加了AndroidSDK路径,默认即可
(2)下载CTS(
(3)配置CTS:
进入/home/username/CTS/android-cts/tools目录,打开/home/username/CTS/android-cts/tools/startcts脚本进行编辑,找到脚本中第一次出现SDK_ROOT的地方(注释了的片段不算),将AndroidSDK的根目录路径赋值给“SDK_ROOT”,如下:
#AddSDK_ROOTtothePATHforbackwardscompatibilitywithpriorstartcts
#commandsthatrequiredSDK_ROOTtofindadb.
if[-n"${SDK_ROOT=/home/username/android-sdk-linux_86}"];then
PATH=${SDK_ROOT}/platform-tools:
${SDK_ROOT}/tools:
${PATH}
fi
然后保存编辑。
2.设置手机/模拟器:
Note:
该部分很重要,缺少任何一步,都将无法进行CTS测试。
(1)下载并安装AndroidSDK。
(2)手机/模拟器上已在运行一个用户build(Android1.6以上版本)。
(3)找到AndroidSDK中的AndroidManifest.xml文件(注意使用主文件),打开,在
debuggable="true"。
.在Linuxcommand窗口输入以下命令(可首先进入AndroidSDK目录):
Øfind–name“AndroidManifest.xml”
.打开如下目录中的AndroidManifest.xml文件:
/home/username/android-sdk-linux_86/samples/Adroid-10/Home/AndroidManifest.xml
.找到以下片段:
persistent="true" android: label="@string/home_title" android: icon="@drawable/ic_launcher_home"> .加上android: debuggable="true": persistent="true" android: label="@string/home_title" android: icon="@drawable/ic_launcher_home" android: debuggable="true"> 保存修改。 (4)进入手机/模拟器的Settings>Applications,勾选上“Unknownsources”项。 (5)进入手机/模拟器的Settings>Applications>Development,勾选上“USBdebugging”项。 (6)让PC能识别到手机: .如果使用的是Windows操作系统,需要在PC上安装手机配套的USB驱动。 .如果使用的是Mac操作系统,不需要进行任何设置直接可识别手机。 .如果使用的是UbuntuLinux操作系统,需要在/etc/udev/rules.d/51-android.rules文件(如果没有该文件,需要先手动创建)中配置USB接口: Øcd/etc/udev/rules.d/ Øls Øgedit(orvi)51-android.rules 在文件中添加如下内容,保存修改: SUBSYSTEM=="usb",ATTR{idVendor}=="0bb4",MODE="0666",GROUP="plugdev" 修改文件的使用权限如下: Øchmoda+r/etc/udev/rules.d/51-android.rules 检测下是否设置成功,执行如下命令,如果显示出手机ID,说明配置USB成功: Øadbdevices 进入CTS目录,在命令行输入cts,可进入cts user@user-desktop: cts 一、各命令行含义 Host: help: showthismessage exit: exitctscommandline Plan: ls--plan: listavailableplans ls--planplan_name: listcontentsoftheplanwithspecifiedname add--planplan_name: addanewplanwithspecifiedname add--derivedplanplan_name-s/--sessionsession_id-r/--resultresult_type: deriveaplanfromthegivensession rm--planplan_name/all: removeaplanorallplansfromrepository start--plantest_plan_name: runatestplan start--plantest_plan_name-d/--devicedevice_ID: runatestplanusingthespecifieddevice start--plantest_plan_name-t/--testtest_name: runaspecifictest start--plantest_plan_name-p/--packagejava_package_name: runaspecificjavapackage start--plantest_plan_name-t/--testtest_name-d/--devicedevice_ID: runaspecifictestusingthespecifieddevice start--plantest_plan_name-p/--packagejava_package_name-d/--devicedevice_ID: runaspecificjavapackageusingthespecifieddevice Package: ls-p/--package: listavailablepackages ls-p/--packagepackage_name: listcontentsofthepackagewithspecifiedname add-p/--packageroot: addpackagesfromroottorepository rm-p/--packagepackage_name/all: removeapackageorallpackagesfromrepository Result: ls-r/--result: listallresultofsessions ls-r/--result-s/--sessionsession_id: listdetailcaseresultofaspecifiedsession ls-r/--result[pass/fail/notExecuted/timeout]-s/--sessionsession_id: listdetailcasesofaspecifiedsessionbythespecifiedresult. History: history/h: listallcommandsincommandhistory history/hcount: listthelatestcountrecordsincommandhistory history/h-enum: runthecommanddesignatedby'num'incommandhistory Device: ls-d/--device: listavailabledevices 三、简要介绍常用命令 Cts_host>ls--plan查看所有的测试计划 ls--planCTS查看CTS这个计划中所包含的包 Start--planCTS--packageandroid.os运行CTS这个计划中的android.os包 Add--plan名称增加一个计划,可以选择运行哪些包 Ls–p查看所有包 Ls--package某包名查看某包中包含的文件 Makects重新编译cts,当增加测试用例时需重新编辑cts CdAndroid/packages/apps转到app根目录,ls查看所有app 二、增加一个测试用例 增加一个应用的测试用例如Email 1、先寻找到app所在的目录,Android/packages/apps,再将其中包含的tests文件中的文件复制到目标文件中,user@user-desktop: cp-aAndroid/packages/apps/Email/testsAndroid/cts/tests/tests/EmailTests 语法: cp[选项]源文件或目录目标文件或目录 说明: 该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。 2、再寻找android.mk文件,目录为Android/cts/tests/tests/EmailTests/Android.mk,修改文件中红色字体与包名相同,增加Cases即可。 $cat$MYDROID/cts/tests/tests/MusicTests/Android.mkLOCAL_PATH: =$(callmy-dir)include$(CLEAR_VARS) #Weonlywantthisapkbuildfortests.LOCAL_MODULE_TAGS: =tests LOCAL_JAVA_LIBRARIES: =android.test.runner #Includealltestjavafiles.LOCAL_SRC_FILES: =$(callall-java-files-under,src) LOCAL_PACKAGE_NAME: =EmailTestsCases LOCAL_INSTRUMENTATION_FOR: =Music include$(BUILD_PACKAGE) 3、寻找cts.mk文件,Android/build/core/tasks/cts.mk,将增加的EmailTestCases加入命令行,其他不作改动 rin@midnight: ~/eclair/build/core$gitdiffdiff--gita/core/tasks/cts.mkb/core/tasks/cts.mkindex917c5dc..17f6dbc100644---a/core/tasks/cts.mk+++b/core/tasks/cts.mk@@-97,6+97,7@@CTS_CASE_LIST: =CtsPerformance3TestCasesCtsPerformance4TestCasesCtsPerformance5TestCases+EmailTestsCasesApiDemosApiDemosReferenceTest$(CTS_CORE_CASE_LIST) 4、寻找buildCts.py文件,cts/tools/utils/buildCts.py,修改两处红色字体部分,其他不作改动 defGenerateTestPlans(self): .....plan=tools.TestPlan(packages)plan.Include(r'android.EmailTests')self.__WritePlan(plan,'EmailTests') 5、重新编译CTS,$cdAndroid,$makects,cts编译完毕就可以运行新增加的用例了,start--planEmailTests 五、连接设备 PC端安装USB驱动,通过USB线连接PC和手机,命令行输入adbdevices,查看是否检测到设备,检测不到先adbkill-server;adbstart-server,检测到设备 PC端显示device名称connect,此时就可在命令行输入命令运行CTS 六、各文件存放目录 1、CTS中的测试计划目录: Android/out/host/linux-x86/cts/android-cts/repository/plans 2、CTS中测试用例所在目录: Android/out/host/linux-x86/cts/android-cts/repository/testcases 3、测试完CTS后测试结果存储目录: mydroid/out/host/linux-x86/cts/android-cts/repository/results 查看结果就到该目录自动生成的当日结果下查询,点击xml文件 4、记录运行CTS时的操作,目录: Android/out/host/linux-x86/cts/android-cts/repository adbshell无法启动(insufficientpermissionsfordevice) 2010年05月05日星期三17: 32 环境: Ubuntu10.04LTS,OphoneSDK 关键字: insufficientpermissionsfordevice 出现如下错误信息: shily@hh-desktop: ~$adbshell error: insufficientpermissionsfordevice shily@hh-desktop: ~$adbdevices Listofdevicesattached ? ? ? ? ? ? ? ? ? ? ? ? nopermissions 不知为何,现在连接到开发机器上的时候出现如上的错误信息,一直提示权限不正确。 暂的解决办法是使用root权限来启动adbserver shily@hh-desktop: ~$sudo-s [sudo]passwordforshily: root@hh-desktop: ~#adbkill-server;adbstart-server *daemonnotrunning.startingitnow* *daemonstartedsuccessfully* root@hh-desktop: ~#exit exit shily@hh-desktop: ~$ 再次执行adbshell就可以了。 可是这样也不是办法,因为这个错误太频繁了,在开发的过程中,很容易执行adbkill-server,然后再切换到root启动adbstart-server太不方便。 这个时候就是setuid起作用的时候了。 转到adb所在的目录 shily@hh-desktop: ~$cd~/sdk/android-sdk_eng.sdk_linux-x86/tools shily@hh-desktop: ~/sdk/android-sdk_eng.sdk_linux-x86/tools$ls-ladb -rwxr-xr-x1shilyshily 3416942010-05-1105: 46adb shily@hh-desktop: ~/sdk/android-sdk_eng.sdk_linux-x86/tools$sudochownroot: rootadb [sudo]passwordforshily: shily@hh-desktop: ~/sdk/android-sdk_eng.sdk_linux-x86/tools$ls-ladb -rwxr-xr-x1rootroot 3416942010-05-1105: 46adb shily@hh-desktop: ~/sdk/android-sdk_eng.sdk_linux-x86/tools$sudochmodu+sadb shily@hh-desktop: ~/sdk/android-sdk_eng.sdk_linux-x86/tools$ls-ladb -rwsr-xr-x1rootroot 3416942010-05-1105: 46adb shily@hh-desktop: ~/sdk/android-sdk_eng.sdk_linux-x86/tools$ 这样无论哪个用户启动adb使用的都是root权限,就不会提示权限不足的错误了。 =========================
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CTS 测试 环境 配置 命令 解释