安卓app测试之Monkeyrunner
一、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的更多相关文章
- 安卓app测试之cpu监控
安卓app测试之cpu监控,如何获取监控的cpu数据呢? 一.通过Dumpsys 来取值 1.adb shell dumpsys cpuinfo 二.top 1.top -d 1|grep packa ...
- 安卓app测试之Monkey日志分析《转载》
安卓app测试之Monkey日志分析 链接:https://www.cnblogs.com/wuzm/p/10965762.html
- 安卓APP测试之使用Burp Suite实现HTTPS抓包方法
APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一 ...
- 安卓自动化测试之MonkeyRunner环境的搭建
最近在抽时间学习一些安卓自动化的知识,把学到东西都就记录下来,避免以后记性不好忘记,也方便对自己积累知识的查阅 MonkeyRunner是基于坐标点来操作控件的,你可以通过写python脚本来调用mo ...
- 安卓app测试之内存分析
一.内存分析步骤 1.启动App. 2.使用monitor命令打开:ADM(包含DDMS) ->update heap 3.操作app,点几次GC 4.dump heap 5.hprof-con ...
- 安卓app测试之Monkeyscript
MonkeyScript是一组可以被Monkey识别的命令集合 优点:MonkeyScript可以完成重复固定的操作 使用:adb shell monkey -f <scriptfile> ...
- 安卓app测试之Monkey日志分析
转:原文:https://blog.csdn.net/a136332462/article/details/76066909 一.一般测试结果分析-搜索关键字: 1.无响应问题可以在日志中搜索 “A ...
- 安卓app测试之Monkey测试
一.Monkey特点 1.运行时机:一般是产品稳定后 首轮功能测试完成的夜间进行 2.需要知道packageName 3.目的:主要测试产品是否存在崩溃问题和ANR问题. 二.获取包名的两个方法 首先 ...
- 安卓app测试之启动时间和电量监控
一.启动时间监控 通过adb命令获取 adb shell am start -W /<packageName> /<activityName> 案例: adb shell am ...
随机推荐
- centos内核编译配置
1.下载内核,下面是内核官网地址:https://www.kernel.org/ tar.xz 是完整的内核包(完整的内核包是通过两次压缩得到的.一次是xz,一次是tar) pgp 是 ...
- Cocos2dx--开发环境搭建
配置文档下载:http://pan.baidu.com/s/1rja8I 有些文件比較大的自己去下,这里列一下全部用到的文件 adt-bundle-windows-x86-20140321.zip a ...
- CSS总结01
1 CSS 的作用是? 2 如何引入 CSS 样式? 3 CSS 选择器的基本类型和复合选择器分别是? 4 字体.背景.列表和链接和鼠标的属性有哪些? 5 如何理解盒子模型? 6 浮动的方式有哪些,如 ...
- 【USACO07FEB】 Cow Relays
[题目链接] 点击打开链接 [算法] 朴素算法,就是跑N-1遍floyd 而满分算法就是通过矩阵快速幂加速这个过程 [代码] ...
- backbone源代码注释(部分)
// Backbone.js 1.0.0 // (c) 2010-2013 Jeremy Ashkenas, DocumentCloud Inc. // Backbone may be freely ...
- [odb-users] Create schema error (unknown database schema '')
Boris Kolpackov boris at codesynthesis.comFri May 31 11:13:02 EDT 2013 Previous message: [odb-users] ...
- Redis: Redis on Windows Setup
ylbtech-Redis: Redis on Windows Setup 1.返回顶部 1. 2. 3. 4. 5. 6. 7. 8. 9. 2.返回顶部 3.返回顶部 4.返回顶部 5 ...
- 清北考前刷题da7下午好
三向城 /* 原图一定是一棵完全二叉树. 根节点是x,左节点是x*2,右节点是x*2+1 转化为二进制往左右走就很明显了. */ #include<iostream> #include&l ...
- 理想的正方形 HAOI2007(二维RMQ)
理想的正方形 省队选拔赛河南 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description 有一个a*b的整数组成的矩阵,现 ...
- JS制作一个创意数字时钟
通过js代码制作一个创意数字时钟 通过JS代码实现创意数字时钟效果如下:由数字化的卡通形象图片取代常规的数字显示当前实时北京时间.具体效果示例: 核心重点: (1)Date方法的初步了解 (2)构建模 ...