CTS测试全面理解.doc_第1页
CTS测试全面理解.doc_第2页
CTS测试全面理解.doc_第3页
CTS测试全面理解.doc_第4页
CTS测试全面理解.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CTSCts的目的:让APP提供更好的用户体验。用户可以选择更多的适合自己设备的APP。让APP更稳定。让开发者设计更高质量的APP。通过CTS的设备可以运行Android market。得到cts有2个方法:1、 编译源码 得到cts 路径为:源码目录/out/host/linux-x86/cts/2、 从网上下载cts 路径为:你下载的目录CTS步骤:(以i600w为例)准备工作: 、CTS工具 编译得到cts1、 从远程上拉i600w代码2、 进入目录 cd MSM8x25-ICS-AP3、 初始化编译环境: source build /envsetup.sh4、 选择编译策略: choosecombo 1 18 35、 编译cts: make cts 、配置adb环境 、测试对象(模拟器和真机都行)1、 进入settings-Privacy-Factorydata reset,对平台进行reset一次2、 平台插入一张空的TF卡3、 平台安装两个APK:CtsDelegatingAccessibilityService.apk,CtsDeviceAdmin.apk4、 进入settings打开Wi-Fi并连接AP (AP需要连外网)5、 进入settings-Security-Screenlock设为None6、 进入settings-Security-EnableUnknown sources7、 进入settings-Security-Deviceadministrators-Enable两个选项8、 进入Language&input-language设为English(UnitedStates)9、 进入settings-Display-Sleep设为30minutes或None10、 进入settings-Accessibility-EnableDelegating Accessibility Service11、 进入settings-Developeroptions-Enable USB debugging、Stay awake、Allowmock locations12、 PC上copy“android-cts-media-1.0”,在android-cts-media-1.0文件下输入./copy_copy_media.sh运行脚本,将media文件copy进平台。成功后会在平台的内存中看到test文件夹。(此条适用于CTS4.0 R2和R3,R1上无需使用)(此问题暂时没有弄清楚)以上准备工作完成后,开始测试:1、 进入cts所在的目录:cd MSM8x25-ICS-AP /out/host/linux-x86/cts/android-cts/tools/2、 运行cts-tradefed文件./ cts-tradefed3、 测试:run cts -p packageNameCTS测试结果CTS 运行后会产生一测试报告,测试报告以开始的日期+时间命名。一般只要查看testresult.xml文件就可对测试结果进行分析。由于CTS 测试所需要花费的时间比较长,当对测试进行调试时可针对的进行测试,可节约大量时间。以下介绍几种常用的方法:a.查看整体测试概览-打开testresult.xml (Test Summary by Package)b.查看具体测试包测试用例执行情况-点击某个test packagec.测试fail项查看失败细节d.测试调试首先确定是哪个测试包出现失败,然后针对该测试包进行重新测试:adb install ./android-cts/package.apkadb shell pm list instrumentaion (pm用于管理package, 看当前设备安装了什么用例)adb shell am instrument -w android.tests.sigtest/.InstrumentRunner (am用于管理activity, 启动指定的测试用例)e.定位某个测试失败项进行单独运行run cts -class class name -method method name注意:可在测试报告中找到对应的class name , method nameCTS命令CTS4.0的命令和CTS2.3/2.3完全不同,所以在进入CTS后,先输入help看看命令的格式和意思。运行cts-tradefed查下help查看测试计划:l/list plans查看测试包:l/list packages运行测试计划:run cts -plan Signature运行测试计划下的测试包:run cts -package android.theme指定某个设备上运行某个测试计划中的测试用例:run cts -serial Medfield6DA2B702 -plan Signature (暂时未验证)指定某个类的某个方法: run cts -c android.hardware.cts.SensorTest -m testSensorOperationsCTS Test Plan1)Test Plan:测试计划,Test Package的集合,每个Plan 中都包含若干个测试包。eg.CTS:包含2万多个测试用例,这些测试用例是检验兼容性必须的,性能测试不包含在本计划中,随版本的更新,本测试计划也会更新;Signature:包含所有针对公有APIs的署名测试;Android:包含针对android APIs的所有测试;Java:包含所有针对java核心library的测试;VM:包含对虚拟机的所有测试;RefApp:包含针对参与应用程序的所有测试,随版本的更新,本测试计划也会更新;Performance:包含所有针对性能的测试,随版本的更新,本测试计划也会更新;AppSecurity:针对Application安全性的测试;2)Test Package:测试包,Test Case的集合3)Test Case:测试用例,Test的集合4)Test:测试,每一个测试对应一个或者多个Instrumentation Test5)Instrumentation Test:Android 测试环境的核心是一个Instrumentation框架,在这个框架下,低估的测试应用程序可以精确控制应用程序。使用Instrumentation,你可以在主程序启动前,创建模拟的系统对象,如Context;控制应用程序的多个生命周期;发送UI事件给应用程序;在执行期间检查程序状态。Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现这些功能;增加一个测试用例:增加一个应用的测试用例 以Camera为例 1、 先寻找到app所在的目录MSM8x25-ICS-AP/packages/apps/ CameraTests再将其中包含的tests文件中的文件复制到目标文件中cp a MSM8x25-ICS-AP/packages/apps/ Camera/tests MSM8x25-ICS-AP/cts/tests/tests/CameraTestscp 选项 源文件或目录 目标文件或目录 说明该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。2、 再寻找android.mk文件。目录为:MSM8x25-ICS-AP/cts/tests/tests/CameraTests/Android.mk修改文件如下图:3、 寻找cts.mk文件。目录为:MSM8x25-ICS-AP/build/core/tasks/cts.mk修改文件如下:4、寻找ctsTestCaseList.mk文件。目录为:MSM8x28-ICS-AP/cts/tools/ctsTestCaseList.mk修改文件如下:(在文件中加入标记部分)4、 重新编译cts,make cts编译完毕,键入:list packages 可以看到有android.CameraTests 。然后就可以运行新增用例了。run cts -p android.CameraTests或者run cts plan CameraTests上述的情况,可以看到截图上 有个could not find test apk Camera.apk。这个问题目前解决了(把源码中生成的apk copy到testCases下),这样就能找到apk了 。但是不理解的是,为什么make cts的时候,不能生成apk 。正在努力解决中继续测试未完成的计划CTS4.0对未完成的测试计划不会生成xml报告,这个和CTS2.3/2.2不同。但是,这并不意味测试中断后无法继续未完成的测试。1、前提条件:有未完成的测试计划2、输入cd MSM8x25-ICS-AP /out/host/linux-x86/cts/android-cts/tools/ (这个是cts-tradefed文件所在路径,各位需要输入实际路径)3、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论