自动遍历测试之Monkey工具

news/2024/10/3 18:33:18

某些移动APP业务线多,流程复杂,且产品迭代速度快,在回归测试中涉及到大量用例,工作量大,解决这个问题的一个可行方法是使用自动遍历测试,可以降低用例维护成本,尽可能的自动化覆盖回归业务。

目录

  • 自动遍历工具
  • Android monkey
    • 简介
    • 常用Monkey命令
    • 常用事件
  • monkey 使用实例
  • 系列文章

自动遍历工具

  • google android原生monkey、 app crawler
  • 百度 smartmonkey
  • 腾讯 newmonkey
  • smart_monkey
  • macaca的NoSmoke
  • 头条的 zhangzhao maxim
  • seveniruby appcrawler

下面介绍android原生monkey工具

Android monkey

简介

monkey是开发用来进行压力测试的工具,测试activity的性能。monkey向应用程序发送伪随机的用户事件流(如按键、触屏、滑动等操作),对应用程序进行随机操作,它的这种特性可以用来做自动遍历测试。

Android SDK提供了Monkey工具,使用adb shell monkey运行

常用Monkey命令

对所有包随机操作100次

adb shell monkey 100

对指定包随机操作100次

adb shell monkey -p com.xueqiu.android 100

时间种子,如果想重现一样的测试路径,两次测试的-s参数应相同

adb shell monkey -p com.xueqiu.android -s 20 100

打印详细日志

adb shell monkey -p com.xueqiu.android -vv -s 20 100

可以看到对雪球app的操作日志,其中

  • 0:触摸事件百分比,参数–pct-touch
  • 1:滑动事件百分比,参数–pct-motion
  • 2:缩放事件百分比,参数–pct-pinchzoom
  • 3:轨迹球事件百分比,参数–pct-trackball
  • 4:屏幕旋转事件百分比,参数–pct-rotation
  • 5:基本导航事件百分比,参数–pct-nav
  • 6:主要导航事件百分比,参数–pct-majornav
  • 7:系统事件百分比,参数–pct-syskeys
  • 8:Activity启动事件百分比,参数–pct-appswitch
  • 9:键盘翻转事件百分比,参数–pct-flip
  • 10:其他事件百分比,参数–pct-anyevent

事件百分比

adb shell monkey -p com.xueqiu.android --pct-touch 10 1000

其他事件类似

时间延迟

adb shell monkey -p com.xueqiu.android --throttle 5000 100

每次随机事件的时间间隔5000毫秒

常用事件

  • –pct-touch:触摸事件,比如点击
  • –pct-motion:动作事件,比如滑动(直线)
  • –pct-trackball:轨迹事件,比如移动+点击,曲线滑动
  • –pct-majornav:主要导航事件,比如回退按键、菜单按键:

monkey 使用实例

  1. 启动模拟器或者连接真机
  2. 自动遍历雪球APP

随机操作100次,触摸事件百分比50%,每次随机事件的时间间隔1s

adb shell monkey -p com.xueqiu.android -vv --pct-touch 50 --throttle 1000 100

--THE END--

系列文章

1、Appium 介绍及环境安装
2、selenium/appium 等待方式介绍
3、App控件定位:Android 控件介绍及元素定位方法
4、Appium元素定位(一)
5、Appium元素定位(二):UiAutomator定位
6、Appium控件交互
7、Android WebView测试
8、AppCrawler自动遍历测试
9、自动遍历测试之Monkey工具
10、App自动化测试工具Uiautomator2
11、App自动化测试工具Airtest
12、Android手机管理平台搭建:STF和atxserver2
13、Windows上实现iOS APP自动化测试:tidevice + WDA + facebook-wda / appium
14、iOS APP自动化:predicate定位
15、iOS APP自动化:class chain定位方法
16、使用facebook-wda进行iOS APP自动化测试


欢迎关注公众号:「测试开发小记」及时接收最新技术文章!


https://dhexx.cn/news/show-25387.html

相关文章

人脸识别(五)

源码位置:https://github.com/comhaqs/face_find.git 分支: develop_libfacedetection 之前的人脸检测使用的是opencv的人脸检测功能,识别率低,基本无法使用。网上查找的时候有几个库,一个是MTCNN相关库,…

平昌县网上书城系统设计与实现

目 录 第一章 概述 1 1.1 开发背景 1 1.2 开发环境 2 1.3 开发工具 2 1.3.1 MyEclipse 2 1.3.2 Navicat 3 1.3.3 MySQL 3 第二章 需求分析 5 2.1 总体需求 5 2.3 功能需求 6 2.4 性能需求 6 2.5 运行需求 6 2.6 其他需求 7 2.7 可行性分析 7 2.7.1技术可行性 7 2.7.2 经济可行性…

Linux系统介绍:内核、shell及软件包管理

目录Linux内核版本查看系统版本shell常见 shell运行 shell查看Linux系统信息查看系统位数查看内存信息查看CPU信息Linux软件包管理源码编译安装RPMRPM包安装rpm命令其它用法yumDPKGDPKG 命令安装apt查看历史命令historyLinux 文件句柄Linux系统主要包括3层, 硬件&am…

基于MATLAB虚拟仿真的四杆机构运动分析

目 录 1 绪论 (1) 1.1 本文研究的目的意义 (1) 1.2 四杆机构的发展与应用 (1) 1.3 本文研究的主要内容 (2) 2 平面四杆机构运动学分析 (3) 2.1 四杆机构自由度的计算 (3) 2.2 角位移分析 (3) 2.3 角速度分析 (3) 2.4 角加速度分析 (3) 2.5 计算仿真前四杆机构的初始参数值 (4) …

360全景开发(一)

自己车上装了个360全景,但不知是安装调试的问题,还是APP开发的问题,拼出来的360全景部分地方有畸变,拼接缝隙明显,额外功能(例如ADAS)没有,果然便宜没好货。。。恰好最近在学图像处理…

SSH 总是出现ssh_exchange_identification: read: Connection reset by peer问题的解决方案

最近,ssh登录阿里云服务器时经常出现ssh_exchange_identification: read: Connection reset by peer的错误,经过分析排查,可能是因为开始git服务后,服务器的连接数太多,很容易达到ssh的连接上限。当达到连接上限时&…

VSCode + Python环境配置

VSCode Python开发环境配置 目录Visual Studio Code 下载安装设置 Python 环境安装code runner插件配置code runnerRun in Terminal其它配置配置VSCode自动保存快捷键Jupyter Notebook插件安装将ipynb文件转换为markdown系列文章Visual Studio Code 下载安装 Visual Studio Co…

基于Ocean Connect云平台的照明控制系统设计

目 录 摘 要 I Abstract II 1 绪论 1 1.1选题背景及意义 1 1.2国内外研究现状 2 1.2.1云平台发展现状 2 1.2.2智能照明的发展现状 2 1.3 研究主要内容 3 2 总体方案设计 5 2.1 系统的需求分析 5 2.2 系统架构设计 6 2.3 通信协议设计 7 2.3.1协议数据帧格式 7 2.3.2控制协议的具…