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 ...
随机推荐
- 使用埃拉托色尼筛选法(the Sieve of Eratosthenes)在一定范围内求素数及反素数(Emirp)
Programming 1.3 In this problem, you'll be asked to find all the prime numbers from 1 to 1000. Prime ...
- Git各个状态之间转换指令总结
基本状态标识 A- = untracked 未跟踪 A = tracked 已跟踪未修改 A+ = modified - 已修改未暂存 B = staged - 已暂存未提交 C = committe ...
- vue非父子组件之间的通信
https://www.cnblogs.com/chengduxiaoc/p/7099552.html //vm.$emit( event, arg ) //触发当前实例上的事件 //vm.$on ...
- 【apache】No input file specified
默认的 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]规则在apache fastcgi模式下会导致No input file specified. 修改成 Re ...
- 上海上传数据重复-sftp端口关闭
关键: (1) sftp的测试指令:sftp -oPort=2125 meituan@220.248.104.170 (2)让上海那边自己试了一下,也不行,他们自己重置了一下sftp的密码,我们可以登 ...
- 洛谷 P1088 火星人
https://www.luogu.org/problemnew/show/P1088 这个题一开始是很蒙的 感觉很麻烦,每次都要交换balabala..... 后来才知道有这么一个神奇的stl 真是 ...
- bis和bic命令实现或和异或运算
从20世纪70年代末到80年代末,Digital Equipment的VAX计算机是一种非常流行的机型.它没有布尔运算AND和OR指令,只有bis(位设置)和bic(位清除)这两种指令.两种指令的输入 ...
- Eclipse maven hadoop -- java.io.IOException: No FileSystem for scheme: hdfs
2019-01-10 概述 今天在Windows系统下新安装了Eclipse和maven的环境,想利用Maven构建一个Hadoop程序的,结果却发现程序运行时一直报 “No FileSystem f ...
- 爬虫 requests 模块
requests 模块 介绍 使用requests可以模拟浏览器的请求, 比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) ps: requests库发 ...
- GWAS条件分析(conditional analysis)
一.为什么要做GWAS的条件分析(conditional analysis) 我们做GWAS的时候,经常扫出一堆显著的信号,假设rs121是我们扫出来与某表型最显著相关的位点(P=1.351e-36) ...