一、CTS 介绍与命令说明
  主要介绍:
CTS下载与配置
CTS目录说明
CTS基本命令说明
Windows系统下运行CTSCTS 全称Compatibility Test Suite 兼容性测试套件。每个Android手机必须要通过最新的 CTS 检测,以保证标准的 Android Application 能运行在该平台下。通过了 CTS 验证,需要将测试报告提交给 Google,以便取得 Android Market的认证。
 
1、CTS下载与配置
下载CTS:
下载官网:http://source.android.com/compatibility/downloads.html
下载文件:(Android 4.4为例)
Android 4.4 R3 Compatibility Test Suite (CTS) - ARM
配置CTS:
解压Compatibility Test Suite链接对应的压缩包
将解压出来的android-cts文件夹,复制到SDK根目录下
 
2、CTS介绍与指令说明— CTS目录说明
  android-cts文件夹下有四个文件夹
android-cts docs  
repository logs:保存log文件夹
plans:运行计划文件夹
results:保存测试结果文件夹
testcases:用例配置文件夹
resource  
tools 运行工具,一些支持运行的jar包和脚本
 
3、CTS介绍与指令说明— CTS基本命令说明
分类 命令 说明
Host help 基本命令帮助说明
help all 全部命令帮助说明
exit 退出控制台
Run run cts --plan test_plan_name 运行指定计划
run cts --package/-p 运行指定包
run cts --class/-c [--method/-m] 运行指定方法
run cts --continue-session session_ID 继续运行指定回话ID
run cts [options] --serial/-s device_ID 运行指定设备
run cts [options] --shardsnumber_of_shards 运行多个设备
run cts --help/--help-all 运行帮助
List l/list d/devices 列出连接的设备
l/list packages 列出所有测试包
l/list p/plans 列出所有测试计划
l/list r/results 列出已经保存的结果
 
4、CTS介绍与指令说明— Windows系统下运行CTS 
我们验证一下以上这些命令,进入控制台,之前都是cmd进入控制台,现在我们自己编写一个脚本直接打开cts命令输入控制台。
编写run-cts.bat,将该脚本放在android-cts>tools文件夹下
run-cts.bat脚本内容:
ECHO OFF
ECHO CTS(Compatibility Test Suite)...
cd C:\Android SDK\android-cts\tools
java -cp ddmlib-prebuilt.jar;tradefed-prebuilt.jar;hosttestlib.jar;cts-tradefed.jar
-DCTS_ROOT="C:\\Android SDK"
com.android.cts.tradefed.command.CtsConsole
pause

-cp 后面的内容写的是tools文件夹下的所有jar包

-DCTS_ROOT 后面的内容是Android SDK的路径

ps:这个脚本运行成功的前提是Android开发环境已经配置好环境变量。

点击run-cts.bat,脚本运行结果:

然后就可以输入以上的CTS命令,查看CTS帮助。

二、UiAutomator在CTS上运行 

1、运行步骤:
依据用例套件编写用例配置XML文件
将用例配置文件与用例JAR包放到testcase目录下
依据配置文件编写测试计划XML文件
将测试计划文件放置与plan目录下
编写运行脚本bat文件
运转bat文件
 
2、将以上步骤用程序自动实现-CtsHelper.java
我们已经有了一个CtsHelper.java帮助我们实现UiAutomator在CTS上运行的自动化。
在GitHub上有CtsHelper的实例运用,大家可以下载下来验证一下。
下载地址:https://github.com/
搜索:uiautomator
点击进入>点击clone Or Download 按钮>如图示,点击 Copy to Clipboard

然后进入eclipse,点击如图箭头所示位置,选择Git打开,在打开Git页面箭头所示第二个图标,打开输入框,将copy到的地址黏贴到URI栏,然后在点击next,到最后点finish,然后会出现复制进度条,等待完成就好。
      

 
完成之后,会出现UiAutomatorHelper文件夹,右键>import project>next>finish

 
然后回答java模式,打开Demo1.java文件,配置一下运行信息
workspace:就是你UiAutomatorDebug这个项目所在的文件夹路径
setDevices:就是你连接的设备号,可以cmd控制台,命令adb devices 查看设备号

然后 Demo1>右键>run as >java Application
运行结果如下,在Console控制台可以看到输出的报告

 
一次用例执行完成,可以看到控制台输出 Created xml report:
file at file://C:\Android SDK\android-cts\repository\results\2017.01.21_21.47.48\testResult.xml

将这个路径地址黏贴到浏览器就可以看到html样式的报告,如下。
同样可以到这个路径的指定文件夹下面看到这个xml文件。
ps:用IE浏览器,或者火狐浏览器打开。

总结:
这样,你自己就可以编写测试用例运行,并跑出这样的测试报告。
别忘了导入辅助的CtsHelper.java很UiAutomatorHelper.java
编写的用例要以test开头,这样CtsHelper才会识别出来
 
这也是我学习记录的内容,以下放出我学习的原链接,详细内容,大家可以看这里:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

uiautomator-CTS上运行,出xml报告的更多相关文章

  1. 记一次asp.net core 在iis上运行抛出502.5错误

    asp.net core 在iis上运行抛出502.5异常的部分原因以及解决方案 环境说明 已安装 .net core runtime 2.1.401 已安装 .net core windows ho ...

  2. [Selenium]Grid模式下运行时打印出当前Case在哪台node机器上运行

    当Case在本地运行成功,在Grid模式下运行失败时,我们需要在Grid模式下进行调试,同时登录远程的node去查看运行的情况. Hub是随机将case分配到某台node上运行的,怎样知道当前的cas ...

  3. Android UiAutomator - CTS Frame

    使用UiAutomator进行UI自动化测试后,生成的测试结果并不是很美观.为了生成一份好看的测试结果(报告),本文将使用CTS框架,当然也可以自己编写一份测试报告框架(如:生成html,excel报 ...

  4. 老李分享:导出xml报告到手机

    老李分享:导出xml报告到手机   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821 ...

  5. MapReduce编程入门实例之WordCount:分别在Eclipse和Hadoop集群上运行

    上一篇博文如何在Eclipse下搭建Hadoop开发环境,今天给大家介绍一下如何分别分别在Eclipse和Hadoop集群上运行我们的MapReduce程序! 1. 在Eclipse环境下运行MapR ...

  6. linux下在eclipse上运行hadoop自带例子wordcount

    启动eclipse:打开windows->open perspective->other->map/reduce 可以看到map/reduce开发视图.设置Hadoop locati ...

  7. 在Linux上运行C#

    众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x.ME.NT.2000.XP和Win CE之类的操作系统.但是,现在却有了一个叫做Mono的项目,它的目 ...

  8. 如何在yarn上运行Hello World(二)

      在之前的一篇文章我们介绍了如何编写在yarn集群提交运行应用的AM的yarnClient端,现在我们来继续介绍如何编写在yarn集群控制应用app运行的核心模块 ApplicationMaster ...

  9. 全网最详细的Eclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在Myeclipse里,则是File -> new -> ...

随机推荐

  1. nodejs 循环中操作需要同步执行解决方案

    最近用nodejs做了个针对某网站的小爬虫.干坏事得低调对吧,不能同时开太多的网络访问,结果各种回调/循环虐的心力交瘁. 经过了n次的百度\哥哥后终于拼出了自己要的功能.不敢独享分享出来以供大家参考. ...

  2. 160802、1.06s删除10w条重复记录只保留一条(mysql)及linux删除乱码文件

    上次发表过的一遍删除重复记录的文章,其中最优的方案三删除1w条也花了0.07秒而2w条就已经花掉了4秒.今天进行了进一步优化,测试删除10w条只花了1.06秒.速度提升了很多. 建表语句 CREATE ...

  3. 关于 Intellij IDEA Ultimate Edition 14.1控制台中文乱码 解决

    经过尝试,我发现,乱码主要是跟控制台右下角的编码有关  如下图 当然IDE Encoding 和 Project Encoding 你可以都设置位UTF-8 或者都设置为GBK    如下图:

  4. 在Web工程中,普通Java类如何读文件

    我们在以前讨论过在Web工程不能采用Java工程原先的读取方式,即创建一个文件流(FileInputStream)并给出一个文件目录(从src开始找一直找到你要读取文件的目录),这种的方式是不可行的. ...

  5. 巨蟒python全栈开发-第14天 内置函数2 递归 二分查找

    一.今日内容总览 1.内置函数补充 repr() 显示出字符串的官方表示形式 chr() arscii码中的字,转换成位置 ord() arscii码中的位置,转换成字2.递归 自己调用自己 两个口: ...

  6. rainbow table 彩虹表

    RainbowTable 的使用和性能的小测试 - SV的边界 - CSDN博客 https://blog.csdn.net/cecilulysess/article/details/4804707 ...

  7. unix_timestamp 和 from_unixtime 时间戳函数 区别

    1.unix_timestamp 将时间转化为时间戳.(date 类型数据转换成 timestamp 形式整数) 没传时间参数则取当前时间的时间戳 mysql> select unix_time ...

  8. FastReports_4.14.1 _Cliff手动安装

    首次编译frx15.dproj包的时候,会出错: [DCC Fatal Error] fs15.dpk(59): F1026 File not found: 'fs_ipascal.dcu'原因是因为 ...

  9. Android Studio "佛祖保佑 永无bug" 注释模板设置详解(仅供娱乐)

    1.注释模板效果图 今天在网上看到一段有趣的注释,佛祖保佑 永无bug, 效果如下图所示: 代码如下所示: /** * _ooOoo_ * o8888888o * 88" . "8 ...

  10. Django - 文件上传、Django组件 - 分页器(paginator)

    一.文件上传准备知识 - Content-Type 1.请求头 - Content-Type Content-Type指的是请求体的编码类型,常见的类型共有3种: 1)application/x-ww ...