monkey怎么做APP自动化?
前言:
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自动化?的更多相关文章
- APP自动化环境配置
做自动化很多人都不喜欢做app自动化,说实话,我也不喜欢做app自动化,但是没办法,老板给你钱,让你做,不得不做! 其实app自动化的难点就在于环境,环境OK了之后一切都和web自动化差不多,顶多就是 ...
- 通过无线连接的方式来做 Appium 自动化
感谢TesterHome里各种大牛,提出的宝贵思路,我这里只是将他们的想法综合了一下,试出来的成果,谢谢大家分享你们的智慧. 简单说下背景: 由于公司要测试APP 产品的耗电问题,我们采取的办法很lo ...
- APP自动化框架LazyAndroid使用手册(2)--元素自动抓取
作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...
- APP自动化框架LazyAndroid使用手册(1)--框架简介
作者:cryanimal QQ:164166060 APP自动化简介 APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入.触摸屏输入.手势输入等操作,以达到对APP的功能进行自动化测试 ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- 使用appium+python做UI自动化的demo
使用appium+python做UI自动化的demo 案例使用的知乎app,下载最新的知乎apk,存在了电脑上,只需要配置本机上app目录,不需要再配置appPackage和appActivity # ...
- App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.App 元素定位方式 二.元素操作 三.测试混合应用 四.以代码的方式执行 Pytest 命 ...
- 用python做youtube自动化下载器 代码
目录 项目地址 思路 流程 1. post i. 先把post中的headers格式化 ii.然后把参数也格式化 iii. 最后再执行requests库的post请求 iv. 封装成一个函数 2. 调 ...
- [python]Appium+python +pytest 实现APP自动化,基于安卓
1.安卓环境搭建 &关于app自动化,个人觉得安装过程比较复杂,脚本难度实现和web自动化差不多封装关键字即可,因此,下面会写安装.启动APP以及过程中遇到的一些坑(这一篇偏向解释给个人) & ...
随机推荐
- 如何简单的理解LSTM——其实没有那么复杂(转载)
转载地址:https://www.jianshu.com/p/4b4701beba92 1.循环神经网络 人类针对每个问题的思考,一般不会是完全的从头开始思考.正如当你阅读这篇译文的时候,你会根据已经 ...
- Windows10常用快捷键+cmd常见命令码
Windows10常用快捷键+cmd常见命令码 1.Ctrl快捷键 Ctrl+C: 复制 Ctrl+V: 粘贴 Ctrl+A: 全选内容 Ctrl+S: 保存 Ctrl+X: 剪切 Ctrl+Z: 撤 ...
- uWSGI和WSGI之间的关系
一.WSGI 协议 WSGI:是一种协议规范,起到规范参数的作用,就像告诉公路一样,规定超车靠右行,速度不低于90km/h,等.但这一切都是对双方进行沟通,比如,重庆到武汉这条高速路,这儿重庆和武汉就 ...
- Mysql配置文件 基本设置
[mysqld] #MySQL启动用户 user = mysql #设置mysql的安装目录 basedir=/usr/local/mysql #mysql.sock存放目录 socket=/var/ ...
- MySQL数据库行转列
一.数据源如下所示 二.对应SQL语句如下所示 -- 行转列 SELECT t1.`产品名称`, SUM(CASE t1.`日期` WHEN '2019-11-11' THEN t1.`数量` ELS ...
- JavaWeb的三大作用域
三大作用域描述 名称 类型 描述 request HttpServletRequest 将数据放在请求作用域中,在一次请求中实现数据的共享,比如请求转发 session HttpSession 将数据 ...
- CF158A Next Round 题解
Content 有 \(n\) 个人参加比赛,第 \(i\) 名在第一轮的分数是 \(a_i\)(保证 \(a_i\geqslant a_{i+1}\))已知下一轮预计能进 \(k\) 人,当然如果有 ...
- 开发webpart时建立图像文件夹和CSS,js文件夹
如图所示:是通过添加映射来完成,做好之后,把图像拷到文件夹时,当ascx文件里需要用到图像时,直接把图像拖到ascx文件里的位置.这样就知道该图像的路径 了.
- centos7使用Dockerfile(docker-compose)运行jar包
Dockerfile文件 FROM openjdk:8-jdk-alpine MAINTAINER "镜像维护者的姓名和邮箱地址" WORKDIR app ADD demo.jar ...
- 辅助函数和高阶函数 map、filter、reduce
辅助函数和高阶函数 map.filter.reduce: 一.辅助函数:(1-1)响应式函数 (数组更新检测): push() pop() shift() unshift() ...