前言:

monkey是andriod平台自动化测试的一种手段,通过monkey程序模拟触摸屏幕、滑动,滚屏,按键来对设备进行压力测试,检测程序多久会出现异常第一种:设置好命令,做随机自动化

什么时候可以使用monkey?

  • 在冒烟测试时,可设置随机命令,看APP是否会出现问题;
  • 在产品稳定的时候,可以做压力和稳定性测试;

monkey做自动化的两种方式

  • 第一种:设置好命令,随机执行自动化,就是monkey常见的设置-P -S --ignore-crashes 等等
adb shell monkey -p 包名 --pct-touch 24 --pct-motion 25 --pct-rotation 10 --pct-appswitch 10 -s 100 --throllte 400 --ignore-crashes --ignore-timeouts -v-v  500
  • 第二种:写好脚本,将脚本文件放到手机,做自动化

    执行步骤:
    1、先编写好monkey脚本
    2、将写好的脚本推送到手机或模拟机的/data/local/tmp
    3、执行脚本:adb shell monkey -f 脚本文件

    具体的脚本代码如下:

type = raw events
count = 10
speed = 1.0 (前面三行必须要写,一般无需更改)
start data >> (脚本开始)
LaunchActivity(com.lemon.lemonban,com.lemon.lemonban.activity.WelcomeActivity)
UserWait(3000)
# 进入柠檬班APP,点击我的柠檬
Tap(601,1240)
#等待几秒,等待我的柠檬页面加载完
UserWait(2000)
#点击头像登录
Tap(285,160)
UserWait(2000)
# 输入手机号
DispatchString('15818182515')
# 点击输入密码
Tap(116,453)
DispatchString('182515')
# 点击登录按钮
Tap(368,578)
UserWait(5000)
#等待后,退出登录
#点击右上角的我的图标,进入退出登录页
Tap(678,68)
UserWait(2000)
Tap(357,431)
#弹出是否确定退出,点击确定
Tap(480,754)

第一种和第二种有什么区别?

第一种是随机的命令对APP进行自动化测试,可以快速发现APP的问题,若执行时设置的-S 100出现了一个错误,后面再执行时,只需设置相同的-S,就会按照第一次执行命令的顺序再次执行

第二种的自动化就是比较有针对性的对某一个功能进行自动测试,比如一个功能偶发了一个问题,这个时候就可以写个脚本多次看看能不能复现。

monkey怎么做APP自动化?的更多相关文章

  1. APP自动化环境配置

    做自动化很多人都不喜欢做app自动化,说实话,我也不喜欢做app自动化,但是没办法,老板给你钱,让你做,不得不做! 其实app自动化的难点就在于环境,环境OK了之后一切都和web自动化差不多,顶多就是 ...

  2. 通过无线连接的方式来做 Appium 自动化

    感谢TesterHome里各种大牛,提出的宝贵思路,我这里只是将他们的想法综合了一下,试出来的成果,谢谢大家分享你们的智慧. 简单说下背景: 由于公司要测试APP 产品的耗电问题,我们采取的办法很lo ...

  3. APP自动化框架LazyAndroid使用手册(2)--元素自动抓取

    作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...

  4. APP自动化框架LazyAndroid使用手册(1)--框架简介

    作者:cryanimal  QQ:164166060 APP自动化简介 APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入.触摸屏输入.手势输入等操作,以达到对APP的功能进行自动化测试 ...

  5. App自动化测试-1.App自动化介绍和环境搭建

    App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...

  6. 使用appium+python做UI自动化的demo

    使用appium+python做UI自动化的demo 案例使用的知乎app,下载最新的知乎apk,存在了电脑上,只需要配置本机上app目录,不需要再配置appPackage和appActivity # ...

  7. App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.App 元素定位方式 二.元素操作 三.测试混合应用 四.以代码的方式执行 Pytest 命 ...

  8. 用python做youtube自动化下载器 代码

    目录 项目地址 思路 流程 1. post i. 先把post中的headers格式化 ii.然后把参数也格式化 iii. 最后再执行requests库的post请求 iv. 封装成一个函数 2. 调 ...

  9. [python]Appium+python +pytest 实现APP自动化,基于安卓

    1.安卓环境搭建 &关于app自动化,个人觉得安装过程比较复杂,脚本难度实现和web自动化差不多封装关键字即可,因此,下面会写安装.启动APP以及过程中遇到的一些坑(这一篇偏向解释给个人) & ...

随机推荐

  1. redis入门到精通系列(五):redis的持久化操作(RDB、AOF)

    (一)持久化的概述 持久化顾名思义就是将存储在内存的数据转存到硬盘中.在生活中使用word等应用的时候,如果突然遇到断电的情况,理论上数据应该是都不见的,因为没有保存的word内容都存放在内存里,断电 ...

  2. supervise安装与使用

    确认当前是否已经安装which supervise/usr/local/bin/supervise 软件下载安装-------------------------------------------- ...

  3. 【Windows】github无法访问/hosts文件只能另存为txt

    因为我的github访问不了了,搜索解决方案为修改host文件 https://blog.csdn.net/curry10086/article/details/106800184/ 在hosts文件 ...

  4. arcgis api for js自定义引用方式

    (1)常规模式 ​ 即arcgis js常见的模块引用方式,采用 require-function 模式,function的参数与require一一对应即可(dojo/domReady!比较特殊,无需 ...

  5. Java中的对于多态的理解

    一.什么是多态 面向对象的三大特性:封装.继承.多态 多态的定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式.(发送消息就是函数调用) 实现多态的技 ...

  6. MySQL信息系统函数

  7. 学Java,Java书籍的最佳阅读顺序

    疫情以来,好久没出差了,今天出差去趟上海,早上 4 点多就起床了,到机场天都没亮.到登机口离起飞还一小时,趁着等飞机的时间,抓紧码字,把这篇文章收个尾. 今天和大家说说学 Java 的读书路线.路线中 ...

  8. CF132A Turing Tape 题解

    Content 读入一个字符串 \(s\),让你用以下规则将字符串中的所有字符转换成数字: 先将这个字符的 \(\texttt{ASCII}\) 码的 \(8\) 位 \(2\) 进制数反转,再将这个 ...

  9. mysql如何查询某个库,某个表都有哪些字段

    如下语句便可查看 SELECT column_name FROM Information_schema.columns  WHERE table_Name = 'columns' AND TABLE_ ...

  10. 分享 NET 5.x 自定义文件日志实现 原汁原味

    下面直接贴出实现代码 FileLoggerProvider /// <summary> /// 文件记录器提供商 /// </summary> public class Fil ...