一、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. poj 2531(dfs)

    题目链接:http://poj.org/problem?id=2531 思路:由于N才20,可以dfs爆搞,枚举所有的情况,复杂度为2^(n). #include<iostream> #i ...

  2. Android UI开发第三十九篇——Tab界面实现汇总及比较

    Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇——ActivityGroup实现tab功能>.这 ...

  3. JZOJ.5286【NOIP2017模拟8.16】花花的森林

    Description

  4. git 分回滚后无法合并代码问题

    git reset & git revert 区别: 1. git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit. 2. 在回滚 ...

  5. ralink雷灵RT5370 for mac ox 10.8 驱动

    博主2013年一月份安装了黑苹果发现 1000BGN 这斯全球无解. 在多米网上买了个 ralink5370 芯片的网卡.结果好多时候,总是闪退纠结ing 最后找到在官网上找到一个驱动. 目测网速还可 ...

  6. LCS/LIS/LCIS 模板总结

    /************************* LCS/LIS/LCIs模板总结: *************************/ /*************************** ...

  7. Java RTTI and Reflection

    Reference: Java编程思想 java 反射(Reflect) Java系列笔记(2) - Java RTTI和反射机制 Java Reflection in Action, 有空再补 -- ...

  8. MySQL中的共享锁与排他锁

    MySQL中的共享锁与排他锁 在MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突.行级锁分为共享锁和排他锁两种,本文将详细介绍共 ...

  9. MongoDB的Python客户端PyMongo(转)

    原文:https://serholiu.com/python-mongodb 这几天在学习Python Web开发,于是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样的好玩 ...

  10. pandas 如何判断指定列是否(全部)为NaN(空值)

    判断某列是否有NaN df['$open'].isnull().any() # 判断open这一列列是否有 NaN 判断某列是否全部为NaN df['$open'].isnull().all() # ...