前言:

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. 【Java 设计】如何优雅避免空指针调用

    空指针引入 为了避免空指针调用,我们经常会看到这样的语句 if (someobject != null) { someobject.doCalc();} 最终,项目中会存在大量判空代码,多么丑陋繁冗! ...

  2. 过滤敏感词工具类SensitiveFilter

    网上过滤敏感词工具类有的存在挺多bug,这是我自己改用的过滤敏感词工具类,目前来说没啥bug,如果有bug欢迎在评论指出 使用前缀树 Trie 实现的过滤敏感词,树节点用静态内部类表示了,都写在一个 ...

  3. 【C#】【MySQL】C#连接MySQL数据库(三)登陆注册代码

    项目结构 项目代码 WebForm_Login.aspx <%@ Page Language="C#" AutoEventWireup="true" Co ...

  4. Java高精度基础+开根

    在焦作站的acm网络赛中遇到了一个高精度开根的水题--但是那时候WA了 后面学写java补题还T了orz 所以写一篇文章来记录一下java的大整数类型的基础和开根还有一点心得体会吧 首先给那一题的题面 ...

  5. Sentry 监控 - 私有 Docker Compose 部署与故障排除详解

    内容整理自官方开发文档 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Map ...

  6. python内置模块(一)

    re模块 基本操作方法 1.使用findall方法可以根据正则表达式筛选所有符合的字符.基本句式为: re.findall('正则表达式',待匹配的字符) 结果为一个列表,没有结果为空列表. 2.使用 ...

  7. 『与善仁』Appium基础 — 27、模拟手势点击坐标

    目录 1.模拟手势点击坐标 2.tap()用法 3.练习 4.弊端 1.模拟手势点击坐标 在定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问) 那就拿出绝招:点击元素所在位置的 ...

  8. vsp配合Qt5开发,解决virtual void * __cdecl PopDialogManger::qt_metacast

    Qt错误提示 virtual void * __cdecl PopDialogManger::qt_metacast(char const*)"(?qt_metacast@PopDialog ...

  9. 使用unc0ver(5.3.1)执行jailbreak踩坑

    官方网站: https://unc0ver.dev/ 目前版本: 5.3.1 使用mac os+altstore步骤: AltStore Download AltStore. Use the link ...

  10. 【LeetCode】453. Minimum Moves to Equal Array Elements 解题报告(Java & Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:模拟过程 方法二:求和-n*最小值 方法三: ...