使用Adt自带的工具进行Android自动化测试(一)

在开始自动化测试的时候,我们可能需要一些工具支持。对于Android平台,官方在开发者工具Adt中已经集成了几种可以用于自动化测试的工具。如果使用这些工具,你可以不用为了开始自己的自动化测试而去额外下载安装其它的工具(当然为了Adt的正常使用,Java环境还是必须的)。这个系列的文章将会分别对这些工具做出一些简单的介绍。

Adt中集成的可以用于自动化测试的工具包括:

  • Monkey
  • MonkeyRunner
  • UIAutomator(仅限Android 4.0以上系统)

Monkey最常见的使用场景就是进行完全随机的测试,单独使用Monkey,你无法按照一个既定的步骤来进行操作。

Monkey在使用时需要通过USB将设备与PC相连,在PC端使用Adb shell命令调用设备端的Monkey程序,设备端的Monkey程序自己生成随机的操作序列来执行。

MonkeyRunner同样通过USB与运行于设备端的Monkey程序通信,但MonkeyRunner直接发送指定的操作指令,这些操作指令也支持编写成脚本,统一运行,

因此MonkeyRunner可以完成一些功能测试和回归测试。

UIAutomator可以完成一些更为复杂的功能测试和回归测试,该工具使用Java直接编写测试apk安装到设备上运行,我们将在以后的文章中详细介绍UIAutomator。

除此之外,Adt中还有用于白盒测试的Instrument,实际上也可以用于自动化测试,一些第三方的自动化测试工具使用的就是Instrument,比如Rubotium和Calabash

Monkey的用法实例

Monkey是一种对应用的稳定性、健壮性进行测试的一种快速有效的工具,这种测试实际上是一种简单粗暴的压力测试。

它的基本功能就是向被测试的应用发送随机的用户事件(如屏幕的点击、拖动和系统按键操作等)。

在Windows命令行中输入命令adb shell monkey + 一个数字就可以开始monkey测试,这个输入的数字是最多要执行的动作的数量。

实际使用时可以利用参数-p限制操作生效的应用,在应用外进行的各种操作将不会生效,这就避免了测试时的一些误操作。比如:

adb shell monkey -p sogou.mobile.explorer 60000

默认情况下Monkey在运行时如果遇到被测应用的崩溃将会自动停止,而崩溃信息也能被Monkey收集并打印到命令行中,如果你想用借助Monkey来发现被测影响的崩溃问题。

你可能需要将Monkey的运行结果保存到文件中

adb shell monkey -p sogou.mobile.explorer -v 60000 > 1.txt

通过下面这段批处理命令,可以让Monkey一直不停的运行下去,并把收集到的崩溃信息尽可能的保存到不同的文件中:

Monkey并不能直接定义每一步操作究竟是什么,但是可以通过运行时的参数配置每一种类型操作的百分比。

使用Monkey可能会发现一些经过特定的操作所产生的应用崩溃问题,但是这种盲目的随机测试效率是很低的。

我们还是希望能够自己定义想要进行的自动化操作,这种情况可以借助MonkeyRunner。

这个系列的下一篇文章将会介绍MonkeyRunner的功能和使用方法。

转载请注明:http://blog.csdn.net/sogouauto

时间: 2024-10-06 23:15:46

使用Adt自带的工具进行Android自动化测试(一)的相关文章

使用Adt自带的工具进行Android自动化测试(二)

在这个系列的上一篇文章中,我们介绍了Monkey的用法,这篇文章将继续介绍Adt自带的另外一个自动化工具MonkeyRunner MonkeyRunner和Monkey的关系 在这个系列的上一篇文章中,我们介绍了Monkey最常规的一种用法,即进行完全随机的测试(点击文末"阅读原文"可以打开这篇文章查看).在这种情况下,Monkey会自己产生一些随机的操作指令给自己执行.但是如果想要按照一个特定的指令序列执行,就要借助MonkeyRunner. MonkeyRunner是一个运行于PC

使用Adt自带的工具进行Android自动化测试(三)

在这个系列的上一篇文章中,我们介绍了MonkeyRunner,并提到如果根据坐标来编写自动化脚本的话存在着一定的局限性(点击文末"阅读原文"可以打开这篇文章查看).这篇文章将进一步介绍根据控件的id来编写自动化脚本的方法 根据控件的id来操作控件 从Android 2.3.3开始,MonkeyRunner增加了EasyMonkeyDevice和By这两个类,它们都位于com.android.monkeyrunner.easy包内,借助这两个类,我们就可以根据控件的id来操作控件. 在这

使用Adt自带的工具进行Android自己主动化測试(三)

在这个系列的上一篇文章中,我们介绍了MonkeyRunner,并提到假设依据坐标来编写自己主动化脚本的话存在着一定的局限性(点击文末"阅读原文"能够打开这篇文章查看).这篇文章将进一步介绍依据控件的id来编写自己主动化脚本的方法 依据控件的id来操作控件 从Android 2.3.3開始.MonkeyRunner添加了EasyMonkeyDevice和By这两个类.它们都位于com.android.monkeyrunner.easy包内,借助这两个类,我们就能够依据控件的id来操作控件

Android自动化测试工具实现简述

前言 自动化测试在产品开发和测试中都有着非常重要的作用.在产品开发阶段,可靠又重复性地运行以确保没有引进回归问题:在产品测试阶段,可以节省人力成本和时间成本,并能保证更大范围的覆盖.Android自动化测试工具同样可以节省不少人力和时间成本,对其研究和实现对于提高测试效率具有一定的意义.目前市面上也有不少Android自动化测试工具,本人在现有工具的基础上,加上自己的理解和实践向大家介绍自动化测试工具的原理和实现. 了解自动化测试的一定对Robotium并不陌生,Robotium是一款国外的An

windows 7自带分区工具实现磁盘重分区

在使用电脑时,有时会感觉当前硬盘分区不合理,例如以前使用XP系统,只需10G左右的磁盘空间就够了,而后安装Windows 7,则需要20G左右的空间,如果C盘过小,则会影响Windows 7的正常运行,诸如分区魔法师(PQ)的软件不能与Windows 7兼容,我们完全可以使用Windows 7自带的分区工具,实现无损数据而对磁盘重新分区!下面虾虾就为朋友们介绍详细的分区方法: [一]启动磁盘管理1.在开始菜单中,右键点击『计算机』,在弹出的菜单中点击『管理』. 如出现用户帐户控制窗口,点击『继续

仿百度文库、豆丁文档在线文档带全套工具

这个是非常棒的一套在线文档分享系统源码,仿百度文库.豆丁文档网站源码,在这里完全免费提供给大家学习.在这里无需任何币就可以下载到非常多的精品源码,如果觉得好站长资源做的不错,请帮忙推荐给更多的站长朋友,并且里面还有一个设置说明图.    此套源码非常干净的,不像现在很多所谓VIP源码论坛放大量的垃圾广告文件在里面,更没有在里面加入垃圾加密广告代码.    安装以下软件前,先要在本机装好OFFICE2007   net2.0以上    windows2003 系统   退掉杀毒软件切忌! 1:安装

使用命令行工具将Android应用转换成BlackBerry PlayBook应用

昨天写了篇文章关于Android应用转换的,通过BlackBerry的在线转换工具将Android应用转换成BlackBerry PlayBook应用.有网友反映说方法有点麻烦,所以今天补上新的转换方法:使用命令行工具将Android应用转换成BlackBerry PlayBook应用. 首先要强调的是命令行工具使用起来虽然比较方便,但是对使用者有一定要求.而使用在线的网页进行转换虽然步骤比较多,但是操作比较简单.所以,对于初步接触的同学来讲,建议还是使用上一篇博文的在线转换工具比较好. 如果准

win7系统自带截图工具快捷键是什么?怎么设置快捷键

win7自带的截图工具很好,很强大,比从网上下载的截图工具好用多了,很少会出现问题.但是它能不能像QQ截图工具一样可以使用快捷键呢?今天小编和大家分享下心得,希望能够给你的工作带来快捷. 工具/原料 win7自带截图工具 方法/步骤 点击左下角的"开始"图标,点击"所有程序" 如何给win7自带的截图工具设置快捷键? 出现系统安装的所有程序的名字,找到"附件"--"截图工具" 如何给win7自带的截图工具设置快捷键? 右键单击

Java自带优秀工具2

Jconsole 是原生java自带的系统monitor工具,可以连接本地也可以连接远端的java process,连接java process之后可以查看应用的CPU,内存,线程数,GC情况,可以帮忙查看系统是否有死锁的现象,还可以查看MBean export出来的系统接口和数据.不过我现在比较少用它了,因为有了jvisualvm. jvisualvm jvisualvm原本是要钱的工具,自从1.6整到jdk里面之后,幸福了我.有了jvisualvm,在图形界面条件允许的情况下,对系统性能调优