一、MonkeyRunner简介

MonkeyRunner提供了系列的API ,MonkeyRunner可以完成模拟事件及截图操作 ,分为以下三类:

MonkeyRunner:用来连接设备或模拟器的

MonkeyDevice:提供安装、卸载应用,发送模拟事件

MonkeyImage:完成图像保存及对比的操作

  • 多设备控制
  • 功能测试
  • 回归测试

二、MonkeyRunnerAPI

1、alert ——警告框

MonkeyRunner.alert(string message, string title, string okTitle)

  • message: 弹出对话框内容
  • title: 对话框的标题栏显示内容,默认值为"Alert"
  • okTitle : 对话框的按钮,默认值为"OK

2、waitForConnection —— 等待设备连接,多个设备,需要指明哪个设备

MonkeyRunner.waitForConnection(float timeout, string deviceId)

  • timeout: 等待超时时间,默认值为永久等待.
  • deviceId: 通过设备ID去设别手机或模拟器.如果只有一台手机的时候,不需要输入.

三、MonkeyDeviceAPI

1、drag ——拖动

device.drag(tuple start, tuple end, float duration, integer steps)

  • start:起始点位置【(1,2)】
  • end:终点位置 【 (3,4)】
  • duration:手势持续的时间
  • steps:插值点的步数,默认10

2、press —— 按键

device.press(string keycode,dictionary type)

  • type:DOWN、UP、DOWN_AND_UP

3、startActivity ——启动应用

device.startActivity(package+'/'+activity)

4、touch —— 点击

device.touch(int x,int y,type)

  • type:DOWN、UP、DOWN_AND_UP

5、type —— 输入

device.type(string message)

6、takeSnapshot——截屏

device.takeSnapshot()

四、MonkeyImageAPI

1、sameAs —— 图像对比

picture.sameAs(MonkeyImage other,float percent)

  • percent:对比相似度

2、writetoFile ——保存图像文件

picture.writeToFile(string path,string format)

  • string path,存储全路径,包括文件扩展名。
  • string format,存储格式

五、MonkeyRunner实战 

刚才那个例子,打开手机浏览器,输入百度,在百度搜索框中输入Helloween,点击搜索

步骤如上,新建一个script文件,脚本写入下:

 from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
device = MonkeyRunner.waitForConnection(5,"192.168.243.101:5555")
device.startActivity("com.android.browser/.BrowserActivity")
MonkeyRunner.sleep(5)
device.touch(200,100,'DOWN_AND_UP')
MonkeyRunner.sleep(1)
device.press('KEYCODE_FORWARD_DEL','DOWN_AND_UP')
device.type('www.baidu.com')
device.press('KEYCODE_ENTER','DOWN_AND_UP')
MonkeyRunner.sleep(10)
device.touch(300,400,'DOWN_AND_UP')
MonkeyRunner.sleep(1)
device.type('Helloween')
MonkeyRunner.sleep(3)
device.press('KEYCODE_ENTER','DOWN_AND_UP')
MonkeyRunner.sleep(10)
image=device.takeSnapshot()
image.writeToFile('C:\\Users\\wuzm\\Desktop\\test_1234.png','png')
MonkeyRunner.sleep(3)

六、Monkey和MonkeyRunner的区别 

Monkey:在adb shell中,生成用户或系统的伪随机事件

MonkeyRunner:通过API定义特定命令和事件控制设备

安卓app测试之Monkeyrunner的更多相关文章

  1. 安卓app测试之cpu监控

    安卓app测试之cpu监控,如何获取监控的cpu数据呢? 一.通过Dumpsys 来取值 1.adb shell dumpsys cpuinfo 二.top 1.top -d 1|grep packa ...

  2. 安卓app测试之Monkey日志分析《转载》

    安卓app测试之Monkey日志分析 链接:https://www.cnblogs.com/wuzm/p/10965762.html

  3. 安卓APP测试之使用Burp Suite实现HTTPS抓包方法

    APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一 ...

  4. 安卓自动化测试之MonkeyRunner环境的搭建

    最近在抽时间学习一些安卓自动化的知识,把学到东西都就记录下来,避免以后记性不好忘记,也方便对自己积累知识的查阅 MonkeyRunner是基于坐标点来操作控件的,你可以通过写python脚本来调用mo ...

  5. 安卓app测试之内存分析

    一.内存分析步骤 1.启动App. 2.使用monitor命令打开:ADM(包含DDMS) ->update heap 3.操作app,点几次GC 4.dump heap 5.hprof-con ...

  6. 安卓app测试之Monkeyscript

    MonkeyScript是一组可以被Monkey识别的命令集合 优点:MonkeyScript可以完成重复固定的操作 使用:adb shell monkey -f <scriptfile> ...

  7. 安卓app测试之Monkey日志分析

    转:原文:https://blog.csdn.net/a136332462/article/details/76066909  一.一般测试结果分析-搜索关键字: 1.无响应问题可以在日志中搜索 “A ...

  8. 安卓app测试之Monkey测试

    一.Monkey特点 1.运行时机:一般是产品稳定后 首轮功能测试完成的夜间进行 2.需要知道packageName 3.目的:主要测试产品是否存在崩溃问题和ANR问题. 二.获取包名的两个方法 首先 ...

  9. 安卓app测试之启动时间和电量监控

    一.启动时间监控 通过adb命令获取 adb shell am start -W /<packageName> /<activityName> 案例: adb shell am ...

随机推荐

  1. Cacti监控Redis实现过程

    Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监測图形分析工具.被广泛的用于对server的运维监控中,Cacti提供了一种插件式的管理.仅仅要按要求写好特定的模板,那 ...

  2. iOS xcode6最新提交app方法

    依照之前方式打包.打包成功后.直接submit提交AppStore.然后再选择build,假设上传成功,但在build选择上未出现,你能够耐心等待.有可能要等上一天,然后选择相应的build,直接提交 ...

  3. Redis缓存数据库安全加固指导(二)

    背景 在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,参考2018年国外数据库技术权威网站DB-Engines关于key-value数据库流行度排名,Redis暂列第一 ...

  4. C++ 代码片段(积累)

    1.MFC中点出对话框显示另存为的一个路径和文件: void CPatchDlg::OnBnClickedBtnPath() { //一下为选择另存为一个路径 m_strSavepath = &quo ...

  5. USACO 刷题有感

    最近每天都尽量保持着每天一道USACO的题目,呵呵,一开始都是满简单的,一看题目基本上思路就哗啦啦地出来了,只不过代码实现有点麻烦,花了一些时间去调试,总体感觉还不错,但是越往后做,应该就很难保持一天 ...

  6. JavaScript 解析读取XML文档 实例代码(转)

    JavaScript解析读取XML文件,主要就是加载并解析XML文件,然后就可以测试解析的XML文件的内容,打印输出来. 在线演示:http://demo.jb51.net/js/2012/readx ...

  7. 基于PHP自带的mail函数实现发送邮件以及带有附件的邮件功能

    PHPmail函数简介 bool mail ( string $to , string $subject , string $message [, string $additional_headers ...

  8. va_start和va_end使用详解(转载)

    转自:http://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html 本文主要介绍va_start和va_end的使用及原理. 在以前 ...

  9. SVN请求认证信息

    WIN10:C:\Users\Home目录\AppData\Roaming\Subversion Window Server 系统:C:\Users\Home目录\AppData\Roaming\Su ...

  10. 理想的正方形 HAOI2007(二维RMQ)

    理想的正方形 省队选拔赛河南  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 大师 Master       题目描述 Description 有一个a*b的整数组成的矩阵,现 ...