博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android自动化工具Monkeyrunner使用(一)
阅读量:4051 次
发布时间:2019-05-25

本文共 1504 字,大约阅读时间需要 5 分钟。

     也许是因为忙于web测试的研究, 一直没有想到要弄安卓的自动化, 有幸经一位同事的提醒先研究下安卓的自动化, 算是找个机会可以"忽悠"吧。

首先还是先了解下android的自动化测试工具吧, 以下是从网上摘要的, 因为我将要使用。

一、什么是monkeyrunner

monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。

二、monkeyrunner工具同Monkey工具的差别

Monkey:

Monkey工具直接运行在设备或模拟器的 shell中,生成用户或系统的伪随机事件流。

monkeyrunner:

monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。

三、monkeyrunner的测试类型

1、多设备控制:monkeyrunnerAPI可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。

2、 功能测试: monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。

3、 回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。

4、 可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunnerAPI之外,您还可以使用标准的Python os和subprocess模块来调用AndroidDebug Bridge这样的Android工具。

四、运行monkeyrunner

您可以直接使用一个代码文件运行monkeyrunner,抑或在交互式对话中输入monkeyrunner语句。不论使用哪种方式,您都需要调用SDK目录的tools子目录下的monkeyrunner命令。如果您提供一个文件名作为运行参数,则monkeyrunner将视文件内容为Python程序,并加以运行;否则,它将提供一个交互对话环境。

monkeyrunner的命令语法为:

monkeyrunner-plugin <plugin_jar> <program_filename> <program_options>

五: 总结

第一: 为了能够更好地运行py文件, 需要把SDK下面的tools添加到环境变量里,这样方便执行测试。

比如说打开命令行, 运行monkeyrunner d:\test.py

如果没有添加到环境变量, 那么运行起来就有点麻烦了。首先通过命令行进入到tools文件夹下, 然后再执行monkeyrunner test.py, 那么就有局限性了。

第二: 执行命令之前需要把test的apk文件放到tools文件夹下, 如果已经添加到了环境变量, 那就不需要这一步了。 也就是说必须连接上才可以运行。

第三:然后就是py 文件了。 这个下次再分析。

转载地址:http://qwjci.baihongyu.com/

你可能感兴趣的文章
遭遇蚊子的獠牙,想起一种叫黄鸡婆的小虫子
查看>>
使用批处理命令给客户更新oracle数据库
查看>>
回首考研路:那年,那月,还有那条孤独的考研狗
查看>>
GCD小结
查看>>
IOS 第三方库介绍
查看>>
iPhone架构xmpp聊天工具 -xmpp协议初识《一》
查看>>
iOS提交后申请加急审核
查看>>
iOS7单元测试
查看>>
ios framework 通用库的制作
查看>>
出现( linker command failed with exit code 1)错误总结
查看>>
iOS开发中一些常见的并行处理
查看>>
iOS获取手机的Mac地址
查看>>
ios7.1发布企业证书测试包的问题
查看>>
如何自定义iOS中的控件
查看>>
iOS 开发百问
查看>>
Mac环境下svn的使用
查看>>
github简单使用教程
查看>>
如何高效利用GitHub
查看>>
GitHub详细教程
查看>>
Swift概览
查看>>