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. Python 属性描述符和属性的查找过程

    属性描述符可以用来控制给属性赋值的时候的一些行为 import numbers class IntField: def __get__(self, instance, owner): return s ...

  2. 【问题解决方案】下载GitHub里的单个文件

    背景:在不把整个项目弄下来的情况下 步骤:raw --> 右击 --> 链接另存为... 参考:如何用浏览器从 github 上下载某项目中的单个文本文件

  3. Thymeleaf的超链接与AJAX的跳转问题

    //th:href :超链接<a th:href="@{/list}"></a>//可以在其他页面跳转yt <form id="msform ...

  4. 一、关于EF你不知道的事

    一.EF 1. 只做查询 ,不用做修改时可以用,提高EF查询性能 var list = db.Users.AsNoTracking().First(x=>x.Name).ToList();

  5. Axis2创建WebService服务端接口+SoupUI以及Client端demo测试调用

    第一步:引入axis2相关jar包,如果是pom项目,直接在pom文件中引入依赖就好 <dependency> <groupId>org.apache.axis2</gr ...

  6. H5自定义属性data-*

    data属性的设置和读取方式: 1.data-xxx 的格式,则采用正常格式来读写该属性值 <div id="test" data-name="小明"&g ...

  7. 简单了解uuid

    1.含义 UUID-Universally Unique IDentifiers,翻译过来就是“全局唯一标志符”. UUID到底是什么? UUID是一个标帜你系统中的存储设备的字符串,其目的是帮助使用 ...

  8. 开篇python

    测试代码 #!/usr/bin/env python # -*- coding: UTF-8 -*- import os import sys print(os.getcwd) print(sys.v ...

  9. pyspider框架学习

    一.crawl()方法学习: 1.url:爬去是的url,可以定义单个,可以定义为url列表. 2.callback:回调函数,指定该url使用哪个方法来解析. 3.age:任务的有效时间. 4.pr ...

  10. python格式化输出的几种方式

    第一种  字符串拼接  就不写了 下面的是 第二 第三 第四种 name = input("name:") age = int(input("age:")) p ...