Appium - adb monkey参数(三)

monkey 参数

1.常规类参数

A.帮助类参数 monkey -h

B.日志级别  $ adb shell monkey -v <event-count>

.

2.事件类参数

A .执行指定脚本  $ adb shell monkey -f <scriptfile> <event-count>
例: $ adb shell monkey -f /mnt/sdcard/test1

B.伪随机数生成种子值  $ adb shell monkey -s <seed> <event-count>

例:$ adb shell monkey -s 666 100

C.设置间隔(每一个指令之间加上固定的间隔时间) $ adb shell monkey --throttle <milliseconds>

例:$ adb shell monkey --throttle 3000 5

D.调整触摸事件百分比如果你希望调整触摸事件的百分比,记住使用--pct-touch。 $ adb shell monkey --pct-touch

例:$ adb shell monkey -v -v --pct-touch 100 200

E.调整手势事件百分比  $ adb shell monkey --pct-motion 所占比例 事物数

例: $ adb shell monkey -v -v --pct-motion 100 200

F.旋转屏幕

adb shell monkey --pct-rotation 20 -v 100

G.同时调整两个事件百分比

adb shell monkey -v --pct-motion 40 -pct-touch 20 200

三、约束类参数

1.包约束
$ adb shell monkey -p <allowed-package-name> <event-count>
例:
$ adb shell monkey -p com.tal.kaoyan 500
$ adb shell monkey -p com.tal.kaoyan -p com.tencent.mm 500

四、调试类参数

 A.应用程序崩溃后继续发送事件

$ adb shell monkey --ignore-crashes <event-count>
在设置此选项后,当应用程序崩溃或发生失控异常时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到上述崩溃或异常将停止运行。

B.超时错误继续发送事件

$ adb shell monkey --ignore-timeouts

C.应用程序权限错误发生后继续发送事件

$ adb shell monkey --ignore-security-exceptions

五、Monkey参数应用综合案例

1、需求分析

A、测试是指定应用,因此需要使用-p指定被测app包名:com.tal.kaoyan

B、这个测试的目的是希望模拟用户操作,因此需要让Monkey执行的事件尽可能地接近用户的常规操作,这样才可以最大限度地发现用户使用过程中可能出现的问题。因此需要对Monkey执行的事件百分比做一些调整:
触摸事件和手势事件是用户最常见的操作,所以通过--pct-touch和--pct-motion将这两个事件的占比调整到40%与25%;目标应用包含了多个Activity,为了能覆盖大部分的Activity,所以通过--pct-appswitch将Activity切换的事件占比调整到10%;被测应用在测试中出现过不少横竖屏之间切换的问题,这个场景也必须关注,因此通过--pct-rotation把横竖屏切换事件调整到10%。

C、使用-s参数来指定命令执行的seed值 Monkey会根据seed值来生成对应事件流,同一个seed生成的事件流是完全相同的。这里指定了seed值,是为了测试发现问题时,便于进行问题复现。

D、使用--throttle参数来控制Monkey每个操作之间的时间间隔 指定操作之间的时间间隔,一方面是希望能更接近用户的操作场景,正常用户操作都会有一定的时间间隔;另一方面也是不希望因为过于频繁的操作而导致系统崩溃,尤其是在比较低端的手机上执行测试时。因此通过--throttle设置Monkey每个操作固定延迟0.4秒。

E、使用--ignore-crashs和--ignore-timeouts参数使Monkey遇到意外时能继续执行 在执行Monkey测试时,会因为应用的崩溃或没有响应而意外终止,所以需要在命令中增加限制参数--ignore-crash和--ignore-timeouts,让Monkey在遇到崩溃或没有响应的时候,能在日志中记录相关信息,并继续执行后续的测试。

F、使用-v指定log的详细级别 Monkey的日志输出有3个级别:日志的级别越高,其详细程度也越高。为了方便问题的定位,这里将日志设为 -v -v.

2、演示如下:

adb shell monkey -p com.tal.kaoyan
--pct-touch 40 #触摸
--pct-motion 25 #手势
--pct-appswitch 10 #Activity切换的事件占比
--pct-rotation 5 #横竖屏
-s 1666 --throttle 400
--ignore-crashes
--ignore-timeouts
-v -v 200

 

原文地址:https://www.cnblogs.com/Teachertao/p/11258990.html

时间: 2024-10-10 08:25:04

Appium - adb monkey参数(三)的相关文章

Appium - 命令行参数

1.cmd端口输入,appium -help参考帮助信息 2.Appium - 命令行参数 参数 默认 描述 举个例子 --shell 空值 进入REPL模式   --ipa 空值 (仅限IOS)abs路径到编译的.ipa文件 --ipa /abs/path/to/my.ipa -a, --address 0.0.0.0 要监听的IP地址 --address 0.0.0.0 -p, --port 4723 端口 --port 4723 -ca, --callback-address 空值 回拨I

【Mac + Appium + Java1.8学习(三)】之IOS自动化环境安装配置以及简单测试用例编写(模拟器、真机)

前提条件: =========================================== 1.Xcode版本为Xcode10及以上2.Appium版本必须为1.9及以上,因为Xcode为10.0 3.appium-desktop4.安装所需依赖库,包括: a.Homebrew b.Git c.node (brew install node) d.npm (brew install npm)e.carthage (brew install carthage)f.libimobiledev

adb Monkey用法

以这条Monkey指令为例: #monkey -s 12 --throttle 450 -p com.android.cameraswitch --kill-process-after-error --ignore-timeouts --ignore-security-exceptions -v 10000 这条monkey指令是测试:在camera模块中产生1万次伪随机操作(包括触摸.按键.手势等). 下面简单介绍下涉及到的各参数: -s : 伪随机数生成器的 seed 值.如果用相同的 se

monkey参数应用

1.指定seed值 adb shell monkey -v -p package -s 100  100 2.touch事件(参数后都跟百分比) 3.设定动作百分比 4.轨迹球 5.基本导航事件 输入设备的上下左右 6.主要导航事件(中间键.返回键.菜单按钮) 7.系统导航事件(HOME/BACK/拨号.音量键) 8.activity 9.其他 各项参数详细说明,参考: Android自动化测试手段之Monkey(adb shell monkey)

Appium+python移动自动化测试(三)--demo

写在前面: appium环境搭建好了,Genymotion模拟器也配置ok,接下来就开始写第一个demo 一.获取apk包名 打开cmd,输入指令aapt dump badging D:\test\xxx.apk(APK的全名,如魔漫相机.apk). 如果通过appium获取包名,可能不准确. 包名:com.manboker.headportrait 二.获取launcherActivity 接上一步,再cmd界面查找.魔漫相机的launcherActivity值为com.manboker.he

Appium 自动化测试(6) Appium 服务器初始化参数设置

Desired Capabilities Desired capabilities 是一些发送给 Appium 服务器的键值对集合 (比如 map 或 hash),告诉服务器我们想要启动什么类型的自动化会话.也有各种可以在自动化运行时修改服务器行为的 capabilities.例如,我们可以把 platformName capability 设置为 iOS,告诉 Appium 我们想要 iOS 会话,而不是 Android 或者 Windows 会话.我们也可以设置 safariAllowPop

monkey参数命令

可以使用命令 adb shell monkey -help 查看命令参数 1.参数: -p 用于约束限制,用此参数指定一个或多个应用.指定应用之后,monkey将只允许系统启动指定的app:如果不指定应用,将允许系统启动设备中的所有应用. 指定一个应用: adb shell monkey -p com.ifeng.news2 100 指定多个应用:adb shell monkey -p com.ifext.news –p com.ifeng.news2  100 不指定应用:adb shell

Mybatis传多个参数(三种解决方案)

第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="selectUser" resultMap="BaseResultMap"> select * from user_user_t where user_name = #{0} and user_area=#{1} </select> 其中,#{0}代表接收的是da

【ADB命令第三篇】手机密码(访问权限密码或者锁屏密码等)忘记怎么办?

访问限制的密码忘记了,或者是锁屏密码忘记了,导致有些程序(如短信,通讯录等重要程序)打不开,影响正常使用.又嫌麻烦,不愿意刷机.是不是就没有办法解决了呢?答案也是否定的.别忘了,ADB还有个shell命令呢. ------------------------------------------------------------- 一.删除访问限制的密码 首先我们要知道的是,MIUI的访问限制的密码是图形密码,它储存在根目录的/data/system路径下,名字为access_control.k