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自动化脚本(一)的更多相关文章

  1. 自动化脚本中click()或sendKeys()没有反应

    前提: 排除xpath引用错误或元素的xpath每次都不同的情形. 问题描述 自动化脚本中click()方法和sendKeys()方法报错, 返回异常InvocationTargetException ...

  2. appium-desktop录制脚本二次开发,生成我司自动化脚本

    目的 通过对appium-desktop脚本录制功能进行二次开发,使录制的java脚本符合我司自动化框架要求. 实现步骤 1.增加元素名称的输入框 由于ATK(我司自动化测试框架)脚本中元素是以“ap ...

  3. Jenkins构建自动化脚本执行无界面解决方法

    场景: jenkins构建selenium自动化用例的时候,会有jenkins自带服务后台运行自动化脚本,可无界面运行IE.Chrome.Firefox. 然而运行IE浏览器时候(IE比较特殊),Je ...

  4. 【Zabbix】Zabbix-agent自动化脚本

    zabbix-agent自动化脚本 作用:批量部署zabbix-agent.用于上百台虚拟机都可以被Zabbix监控. 脚本名:inst-agent.sh #!/bin/bash echo " ...

  5. PHP学习日记 Windows配置PHP+Nginx+自动化脚本

    Windows配置PHP+Nginx+自动化脚本 安装与配置 PHP 下载PHP:传送门 选择合适的版本下载 尽量选Thread Safe 配置PHP: 解压后在文件夹中找到php.ini-devel ...

  6. python_selenium之第一个自动化脚本

    python_selenium之第一个自动化脚本 上一节介绍了xpath的使用,接下来完成第一个自动化脚本 一.步骤: 1. 这里使用火狐浏览器,首先打开火狐浏览器 2. 使浏览器窗口最大化 3.输入 ...

  7. 【转】jenkins上配置robotframeworkride自动化脚本任务

    jenkins上配置robotframeworkride自动化脚本任务 编写好的自动化脚本,集成在jenkins上进行自动运行于监控,这里采用分布式构建,在一台slave上进行任务构建与自动化脚本的运 ...

  8. Python+selenium第一个自动化脚本

    第一个自动化脚本(用Python写的) from selenium import webdriver  #从selenium导入webdriber driver=webdriber.Firefox() ...

  9. Jmeter 接口自动化-脚本数据分离实例

    一. 背景:  为了让大家更加的了解Jmeter,并且使用起来游刃有余.这篇我们主要讲一下,如何优雅的使用Jmeter一步步的实现接口自动化,完成脚本与数据分离,把可能对Jmeter脚本的维护转移到c ...

随机推荐

  1. jquery实现点击控制div的显示和隐藏

    我们使用点击显示.点击隐藏的时候,一般有两种可选方案 .示例 html <div class="index"> <h1> 首页 </h1> &l ...

  2. python提取浏览器Cookie

    在用浏览器进行网页访问时,会向网页所在的服务器发送http协议的GET或者POST等请求,在请求中除了指定所请求的方法以及URI之外,后面还跟随着一段Request Header.Request He ...

  3. Codeforces Global Round 2

    A:答案一定包含首位或末位. #include<iostream> #include<cstdio> #include<cmath> #include<cst ...

  4. SpringMvc的自动装箱和GET请求参数可以为自定义对象的思考

    在我的概念里边,GET请求需要加上注解@RequestParam,然后它的参数类型只能是 基本数据类型 或者 基本数据类型的包装类,比如:@RequestParam String name(默认是必传 ...

  5. JVM运行时内存组成分为一些线程私

    JVM运行时内存组成分为一些线程私有的,其他的是线程共享的. 线程私有 程序计数器:当前线程所执行的字节码的行号指示器. Java虚拟机栈:java方法执行的内存模型,每个方法被执行时都会创建一个栈帧 ...

  6. docker_weave

    安装 curl -L git.io/weave -o /usr/local/bin/weave chmod a+x /usr/local/bin/weave 启动 weave weave launch ...

  7. SQL学习指南第三篇

    再谈连接 外连接 之前的范例都是没有考虑条件可能无法为表中的所有行匹配的问题 左外连接与右外连接 SELECT a.account_id, a.cust_id, b.name FROM account ...

  8. Django---ORM框架

    一.get请求和post请求 GET请求: 1. 浏览器请求一个页面2. 搜索引擎检索关键字的时候 POST请求:1. 浏览器向服务端提交数据,比如登录/注册等 HTTP中GET与POST的区别 ht ...

  9. Vue(小案例_vue+axios仿手机app)_实现用户评论

    一.前言 1.渲染评论列表 2.点击加载按钮,加载更多    3.提交评论 二.主要内容 1.评论列表一般是注册到一个全局的公共组件中 2.请求后台数据,渲染评论列表 (1)数据格式如下 地址 /ap ...

  10. Numpy系列(十)- 掩码数组

    简介 有时候数据集中存在缺失.异常或者无效的数值,我们可以标记该元素为被屏蔽(无效)状态. import numpy as np import numpy.ma as ma x = np.array( ...