Monkey自动化脚本(一)
1.Monkey简介
Monkey-猴子,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,主要用于Android 的压力测试 自动的一个压力测试小工具!
2.安装Android SDK 并配置环境变量(在java+appium中总结过,本节不做具体介绍)。
3.monkey脚本编写步骤
(1)获取包名和入口activity(获取夜神模拟器中的应用apk的包名和类名)
①如果获取的apk是第三方的应用程序如何获取包名和类名(如百度地图apk)
打开cmd首先通过 adb connect 127.0.0.1:62001连接夜神模拟器
cd D:\appium\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W
adb shell
cd /data/app
ls
com.baidu.BaiduMap-1.apk
exit
//准备把apk拿出来
adb pull /data/app/com.baidu.BaiduMap-1.apk D:\appium\apk


②如果获取的apk是手机本地的应用程序如何获取包名和类名(如本地浏览器apk)
adb shell
cd /system
ls
cd /app 或者 cd /priv-app
ls
//准备把Browser.apk拿出来
adb pull /system/app/Browser.apk D:\appium\apk



package: name='com.android.browser'
launchable-activity: name='com.android.browser.BrowserActivity'
(2)在手机上获取相应的像素点坐标(利用SDK自带的uiautomatorviewer.bat或者开发者选项中的坐标位置)
首先打开模拟器关于手机页面,双击版本号打开开发者模式,然后进入开发者选项选择如下:


(3)编写脚本并检查脚本
#头文件,控制monkey发送消息的参数
type = raw events
count = 10
speed = 1.0
#以下上monkey命令
start data >>
#打开测试应用的程序
LaunchActivity(com.android.browser,com.android.browser.BrowserActivity)
#加等待
UserWait(8000)
Tab(128,70)
#输入网址: https://www.monkey.org/
DispatchString(https://www.monkey.org/)
UserWait(5000)
#Enter
DispatchPress(KEYCODE_ENTER)
#输入Home键返回到桌面
#DispatchPress(KEYCODE_HOME)
(4)运行脚本
将文件放到手机中:adb push 本地monkey脚本文件 /data/local/tmp
adb push sh D:\appium\Monkey_TestCase\openBrowser.txt /data/local/tmp

运行文件:adb shell monkey -f 手机文件地址/文件名称 执行数量
adb shell monkey -f /data/local/tmp/openBrowser.txt 1

(5)安卓键值扩展参考地址:https://www.cnblogs.com/xiaozhaoboke/p/10029488.html
小结:通过学习后自我实践总结,如有不足之处,请大神指出,分享给正在学习monkey的小白,仅供参考!
Monkey自动化脚本(一)的更多相关文章
- 自动化脚本中click()或sendKeys()没有反应
前提: 排除xpath引用错误或元素的xpath每次都不同的情形. 问题描述 自动化脚本中click()方法和sendKeys()方法报错, 返回异常InvocationTargetException ...
- appium-desktop录制脚本二次开发,生成我司自动化脚本
目的 通过对appium-desktop脚本录制功能进行二次开发,使录制的java脚本符合我司自动化框架要求. 实现步骤 1.增加元素名称的输入框 由于ATK(我司自动化测试框架)脚本中元素是以“ap ...
- Jenkins构建自动化脚本执行无界面解决方法
场景: jenkins构建selenium自动化用例的时候,会有jenkins自带服务后台运行自动化脚本,可无界面运行IE.Chrome.Firefox. 然而运行IE浏览器时候(IE比较特殊),Je ...
- 【Zabbix】Zabbix-agent自动化脚本
zabbix-agent自动化脚本 作用:批量部署zabbix-agent.用于上百台虚拟机都可以被Zabbix监控. 脚本名:inst-agent.sh #!/bin/bash echo " ...
- PHP学习日记 Windows配置PHP+Nginx+自动化脚本
Windows配置PHP+Nginx+自动化脚本 安装与配置 PHP 下载PHP:传送门 选择合适的版本下载 尽量选Thread Safe 配置PHP: 解压后在文件夹中找到php.ini-devel ...
- python_selenium之第一个自动化脚本
python_selenium之第一个自动化脚本 上一节介绍了xpath的使用,接下来完成第一个自动化脚本 一.步骤: 1. 这里使用火狐浏览器,首先打开火狐浏览器 2. 使浏览器窗口最大化 3.输入 ...
- 【转】jenkins上配置robotframeworkride自动化脚本任务
jenkins上配置robotframeworkride自动化脚本任务 编写好的自动化脚本,集成在jenkins上进行自动运行于监控,这里采用分布式构建,在一台slave上进行任务构建与自动化脚本的运 ...
- Python+selenium第一个自动化脚本
第一个自动化脚本(用Python写的) from selenium import webdriver #从selenium导入webdriber driver=webdriber.Firefox() ...
- Jmeter 接口自动化-脚本数据分离实例
一. 背景: 为了让大家更加的了解Jmeter,并且使用起来游刃有余.这篇我们主要讲一下,如何优雅的使用Jmeter一步步的实现接口自动化,完成脚本与数据分离,把可能对Jmeter脚本的维护转移到c ...
随机推荐
- 系统IO
系统IO:Linux系统提供给应用程序操作文件的接口 Everything is a file ,in Unix 在Unix/Linux下,万物皆文件 打开文件函数原型: #include< ...
- python获取list列表随机数据
第一种方法(推荐)适用于随机取一个值, 返回一个值import randomlist1 = ['佛山', '南宁', '北海', '杭州', '南昌', '厦门', '温州']a = random.c ...
- iview inoput type=textarea 禁止拉伸
设置 :maxRows.minRows相同即可 <Input v-model="formValidate.remark" type="textarea" ...
- DEVOPS 运维开发系列
DEVOPS 运维开发系列四:ITIL事态管理流程.事态监控系统设计以及基于Devops的效率提升实践 - watermelonbig的专栏 - CSDN博客https://blog.csdn.net ...
- 在QT中使用C/C++, 在linux下生成 .so, 并调用 .so
时间不早了, 先下班了... 明天再写..
- 异常SRVE0199E
后台生成导出exe表格,在tomcat自己环境下完全没问题到websphere环境下保SRVE0199E产生这个问题是因为response.OutputStream已经打开再次打开就报这个异常,前台如 ...
- python之反射和内置函数__str__、__repr__
一.反射 反射类中的变量 反射对象中的变量 反射模块中的变量 反射本文件中的变量 .定义:使用字符串数据类型的变量名 来获取这个变量的值 例如: name = 'xiaoming' print(nam ...
- meta标签补充属性(viewport)
我们在开发移动设备的网站时,最常见的的一个动作就是把下面这个东西复制到我们的head标签中: <meta name="viewport" content="widt ...
- 清北学堂Day2
算数基本定理: 1.整数及其相关 2.唯一分解定理 对于任意的大于1的正整数N,N一定能够分解成有限个质数的乘积,即 其中P1<P2<...<Pk,a1,a2,...,ak>= ...
- 解决每次从cmd进入sqlplus,都得重新设置pagesize、linesize的问题
https://blog.csdn.net/u012127798/article/details/34146143/ Oracle里的set零零碎碎的,这里整理归纳一下 SQL> set tim ...