IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> app自动化之monkey测试 -> 正文阅读

[开发测试]app自动化之monkey测试


在这里插入图片描述

一、为什么要做monkey测试

背景:随着移动互联网的崛起,越来越多的APP进入我们的生活,如微信、抖音、淘宝等,这些常用APP一般用户量比较大、在线时间较长,如抖音日活量8亿,在线时间平均3小时起步,所以在测试APP的过程中,我们除了要考虑功能的准确性,兼容性等外,还需要考虑到APP的稳定性。市面上,一般采用monkey工具来测试Android APP的稳定性,iOS的稳定性一般由开源社区提供iOSmonkey 来测试稳定性。

monkey测试时间节点: APP功能基本稳定,在预发布和验收之前

常用工具: monkey 、Python 、git、gitlab、Jenkins

二、什么是monkey测试

monkey测试Android自动化的一种手段,monkey本身十分简单,就是用使用脚本去模拟用户一系列常用操作,如设置屏幕亮度、调节声音、滑动、手势输入等等,整个过程是伪随机的,随机体现在动作的随机,伪表示可通过 -s 即seed值来重现上一次的操作过程。

三、monkey测试环境准备

一、环境准备

安装 jdk1.8,并添加到path
安装 Android SDK ,并添加到path
在这里插入图片描述
验证环境是否安装成功:
jdk
在这里插入图片描述
SDK:
在这里插入图片描述
如果如上述一样,显示对应的版本号SDK和jdk 安装成功

二、连接设备

手机 :

  1. 使用数据线连接手机
  2. 打开手机开发者模式,打开USB调试功能
  3. 在DOS窗口输入adb devices ,若出现设备号,则表示连接成功

模拟器:

  1. 打开模拟器
  2. DOS窗口输入命令:adb connect IP:port,如adb connect 127.0.0.1:7555
  3. 在DOS窗口输入adb devices ,若出现设备号,则表示连接成功

以模拟器举个栗子:
在这里插入图片描述
PS:模拟器端口不知道的可以去官网查看,真机连接后,直接用adb devices 即可

四、monkey测试怎么做

一、monkey常用命令

查看monkey参数 adb shell monkey

C:\Users\zyd>adb shell monkey
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
              [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
              [--ignore-crashes] [--ignore-timeouts]
              [--ignore-security-exceptions]
              [--monitor-native-crashes] [--ignore-native-crashes]
              [--kill-process-after-error] [--hprof]
              [--pct-touch PERCENT] [--pct-motion PERCENT]
              [--pct-trackball PERCENT] [--pct-syskeys PERCENT]
              [--pct-nav PERCENT] [--pct-majornav PERCENT]
              [--pct-appswitch PERCENT] [--pct-flip PERCENT]
              [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
              [--pct-permission PERCENT]
              [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
              [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
              [--wait-dbg] [--dbg-no-events]
              [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
              [--port port]
              [-s SEED] [-v [-v] ...]
              [--throttle MILLISEC] [--randomize-throttle]
              [--profile-wait MILLISEC]
              [--device-sleep-time MILLISEC]
              [--randomize-script]
              [--script-log]
              [--bugreport]
              [--periodic-bugreport]
              [--permission-target-system]
              COUNT


C:\Users\zyd>

对整机进行200次事件操作:adb shell monkey 200

在这里插入图片描述

- p 指定应用包名:adb shvell monkey -p com.xueqiu.android 1000

在这里插入图片描述

- ignore-crashes :忽略崩溃

在脚本运行过程中,一般遇到崩溃,monkey就会终止,加上忽略参数,就可以让脚本正常运行,并记录下崩溃时间与详细原因。

- ignore-timeouts:忽略超时

忽略脚本过程中应为超时导致的问题

- ignore-security-exceptions :忽略安全证书问题

忽略脚本过程中应为安全证书问题导致的问题

- v 指定日志等级:adb shell monkey -p com.xueqiu.android -v 1000

最低等级为 -v
在这里插入图片描述
最高等级为 -v -v -v
在这里插入图片描述
由于日志的量比较大,一般都会采用重定向去输出日志信息

- s 指定seed值:adb shell monkey -p com.xueqiu.android -s 1235 1000

seed值又称为序列值,或者种子值,常用来复现问题,果两次的seed一样,那么表示脚本模拟的动作顺序是一样的,但是不保证操作的对象是一样的。

-throttle MILLISEC 延迟时间

事件与事件之间的间隔时间,工作中一般是450ms

工作中的事件数:30w次,延迟时间:450ms ,脚本执行时间8-10小时

五、结果分析:

// Monkey finished 表示monkey测试结束

在这里插入图片描述

失败的常见原因:

通过对日志进行关键字搜索查看bug

1.crash奔溃

crash 提交bug时,添加logcat日志即可。

2.ANR 无响应

ANR提交bug时,adb shell 、data/anr/traces.txt,需要提交traces.txt文件。
在这里插入图片描述

monkey异常中断

  • 手机异常关机
  • 手机异常重启
  • 手机CPU温度异常等等

bug提交

标题:【monkey】【crash/重启/…】APP在执行monkey测试发生crash/重启/…

复现步骤:

  1. 环境
  2. 命令
  3. 查看结果

预期结果: monkey执行无异常
实际结果: monkey执行过程中出现crash

根据关键字 分析logcat日志,如 ANR/fatal/reboot/OOM/exception

# 重定向下载logcat日志
adb logcat -v time >E:\APPLOG\logcat.txt
adb shell monkey -p com.xueqiu.android - 300

六、完整的monkey脚本:

adb shell monkey --throttle 450 --ignore-security-exceptions --ignore-crashes --ignore-timeouts -v -v -v -p com.xueqiu.android 200 >E:\APPLOG\logcat.txt

logcat文件如下:
在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 12:01:59  更:2022-02-26 12:02:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:53:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码