appium入坑必备--Monkey命令

        ADB与Monkey有着密切的关系,但是我为什么要分开讲呢,虽然有密切的关系,但是作用的领域还是有所区别的,Monkey猴子,模仿人的动作完成指定或者随机的操作,代替人为操作手机的。ADB模拟管理手机的,通俗点这么说。废话不多说,看完你就知道了两者之间有何具体的区别。

目录

基本配置        

        事件间隔(--throttle)

        指定包(-p)

        日志设置(-v)

        seed值(-s)

调试选项

事件类型

分析日志(找BUG)


        在测试中如果要进行APP稳定性测试Monkey绝对是首选,那么什么是稳定性测试呢?

        稳定性测试就是指软件长时间的持续运行,系统版本是否稳定,是否能否持续的为用户 提供服务

        那么Monkey又是怎么来做到的呢。       

        Monkey是向系统发送随机的用户事件流(如按键输入、触摸屏输入和手势输入等), 实现对正在开发的应用程序进行稳定性测试。可以更好的模拟用户操作,确保App的稳定性。

        adb shell monkey——monkey.shell——monkey.jar——安卓进程——设备上执行测试

        看了Andrioid-SDK包的就明白了,里面有这么些东西,我们通过输入命令辗转反侧才到设备上,设备识别到了才会有相应的操作。

        Monkey选项主要分为3大类:

                1. 基本配置选项,如设置尝试的事件数量,运行约束选项,如设置只对单独的一个包进行测试

                2. 事件类型和频率

                3. 调试选

        之前讲过怎么装Android-SDK,那么我们通过输入adb shell monkey可以看到

         这么多命令,怎么办呢,也看不懂,看不懂就跟着来。

        不管怎么样万能的结构就是adb shell monkey ... count

        count什么意思呢,事件数,也就是执行多少次的意思 ,这个结构中就是你随意填入的命令了,接着看。

基本配置        

        事件间隔(--throttle)

                eg:时间间隔单位是ms,1s=1000ms发送10个事件,持续1分钟。换算一个事件间隔6s,10个事件就是60s

                        adb shell monkey --throttle 6000 10

        指定包(-p)

                1、-p 此参数指定了一个包,Monkey将只允许系统启动这些包里的 Activity

                2、-p -p 如果用此参数指定了几个包, Monkey将只允许系统启动这些包里的Activity

                eg:执行CSDN100次事件

                        adb shell monkey -p net.csdn.csdnplus 100

        日志设置(-v)

                1、-v Level 0 除启动提示、测试完成和最终结果之外,提供较少信息

                2、-v-v Level 1 提供较为详细的测试信息,如逐个发送到Activity的事件

                3、-v-v-v Level 2 提供更加详细的设置信息,如测试中被选中的或未被选中的Activity。

                eg:执行日志导出到本地

                        adb shell monkey -p net.csdn.csdnplus -v-v-v 100 >d:\CSDN.txt

        seed值(-s)

                 在Monkey运行过程中,肯定会发现异常、奔溃、无响应等问题,对于此类问题如何进行复现 呢?

                -s seed 伪随机数生成器的seed值。如果用相同的seed值再次运行Monkey,它将生成 相同的事件序列。也可以指定值。

               eg: 复现bug

        adb shell monkey -s 20210728 -p net.csdn.csdnplus -v-v-v 100 >d:\net.csdn.csdnplus.txt

                 回归测试(验证bug)

                        adb shell monkey -s 20210728 -p net.csdn.csdnplus -v-v-v 50

调试选项

        在Monkey运行过程中,我们可以通过结束进程的方式来终止Monkey的执行,当然在运行过程中遇 到异常、奔溃等情况Monkey也会停止。为了保证执行的事件数执行完整,我们可以通过调试选项 的设置来防止在运行过程中Monkey命令的提前结束。

        --ignore-crashes 忽略在应用程序出现crash时导致的monkey停止

        --ignore-timeouts 忽略在应用程序出现ANR问题时导致monkey停止

        --ignore-security-exceptions 忽略应用程序发生许可错误时导致monkey停止

        --kill-process-after-error 当应用程序发生错误时,应用程序停止运行并保持在当前状态

        eg:对CSDN进行稳定性测试,执行50次事件,忽略过程中遇到的异常,直到50次事件完成

                adb shell monkey -p net.csdn.csdnplus --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security- exceptions --kill-process-after-error -v-v-v 50 >d:\CSDN.txt

事件类型

        0:触摸事件百分比,即参数--pct-touch 实际操作类似于点击

        1:滑动事件百分比,即参数--pct-motion 实际操作是一个没有拐弯的直线滑动操作

        2:缩放事件百分比,即参数--pct-pinchzoom 智能机上的放大缩小手势操作

        3:轨迹球事件百分比,即参数--pct-trackball 一系列的曲线滑动操作

        4:屏幕旋转事件百分比,即参数----pct-rotation 手机屏幕在横竖屏之间不断地切换

        5:基本导航事件百分比,即参数--pct-nav 设备上、下、左、右键

        6:主要导航事件百分比,即参数--pct-majornav 键盘的中间键、回退按键、菜单按键

        7:系统事件百分比,即参数--pct-syskeys 点击Home键、返回键、音量调节键等

        8:Activity启动事件百分比,即参数--pct-appswitch 页面的切换与跳转

        9:键盘翻转事件百分比,即参数--pct-flip 点击输入框、键盘弹起、点击输入框以外区域、键盘收回等

        10:其他事件百分比,即参数--pct-anyevent 除了上面的一些其他事件,如按键、其他不常用的设备上的按钮,

        eg:adb shell monkey -p net.csdn.csdnplus -s 100 --pct-touch 30 --pct-motion 30 --pct-appswitch 10 --pct-rotation 5 --throttle 1000 --ignore-crashes --ignore-timeouts -v-v-v 36000 >d:\CSDN.log

        注:将adb shell monkey写到.bat文件中即可,事件类型根据测试的app自行决定事件的百分比,如果APP的滑动需求较多,那就增加滑动的事件百分比。

分析日志(找BUG)

        作为一名合格的测试人员,既然能跑稳定性测试,那么出现的BUG也不能放过,需要记录起来,那么怎么样找BUG呢,这里稍作说明。

        ANR程序无响应、crash程序崩溃、exception异常、timeout超时,这四种,timeout可以忽略,可能是因为网络原因造成的也不一定,但是合格的测试都会记录下来。

        1、统计出现的异常次数、出现频率

        2、定位错误事件

        3、提交bug,并附上日志信息

        4、回归验证

        最好的是把次数记录好后把对应的BUG提示也一起附在后面,记录好多少行,最后提交的时候把整个日志文件也给到开发。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: appium-python-client安装包可以通过pip命令进行安装,具体步骤如下: 1. 打开命令行工具(如Windows下的cmd或者Linux下的终端),输入以下命令安装pip: ``` sudo apt-get install python-pip ``` 2. 安装appium-python-client,输入以下命令: ``` pip install Appium-Python-Client ``` 3. 等待安装完成即可使用appium-python-client。 ### 回答2: appium-python-client是一个用于进行移动应用测试的Python库。它作为Appium测试框架的一个客户端,提供了许多功能和方法来编写和执行测试脚本。 要安装appium-python-client,需要先确保已经安装了Python环境。以下是安装appium-python-client的步骤: 1. 打开终端或命令提示符,并进入到所需的Python项目目录。 2. 使用pip命令安装appium-python-client。在终端或命令提示符中输入以下命令: pip install Appium-Python-Client 在执行命令后,pip会从Python Package Index(PyPI)上下载并安装appium-python-client。 安装完成后,您可以在Python脚本中导入appium-python-client并开始编写测试代码。 例如,您可以使用以下命令导入appium-python-client库: ```python from appium import webdriver ``` 然后,您可以使用appium-python-client提供的方法来启动Appium服务器、初始化移动设备连接、定位元素,并执行各种移动应用测试操作。 总结: appium-python-client是一个用于进行移动应用测试的Python库,可以通过pip命令进行安装。安装完成后,您可以在Python脚本中导入该库并使用其提供的方法来编写和执行移动应用测试脚本。 ### 回答3: appium-python-client是一个用于与Appium服务器进行通信的Python库。要安装appium-python-client,您可以按照以下步骤进行操作: 1. 确保您的电脑已经安装了Python解释器。您可以通过在命令行中输入“python --version”来验证Python是否已经安装。 2. 打开命令行或终端,并输入以下命令来安装appium-python-client: ``` pip install Appium-Python-Client ``` 注意:您需要确保您的电脑已经安装了pip,它是一个用于安装Python库的包管理工具。如果您的电脑上没有安装pip,您可以通过以下命令来安装它: ``` python -m ensurepip --upgrade ``` 3. 安装完成后,您可以在Python脚本中导入appium-python-client模块并使用它来与Appium服务器进行通信。例如,您可以使用以下代码示例来连接到Appium服务器: ```python from appium import webdriver desired_caps = { 'platformName': 'Android', 'platformVersion': '9', 'deviceName': 'Android Emulator', 'app': 'path/to/your/app.apk' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) ``` 这将创建一个WebDriver实例,用于控制连接到Appium服务器的设备。您可以使用WebDriver实例来执行各种测试操作,例如查找元素、发送输入等。 通过按照以上步骤安装appium-python-client,您就可以在Python中使用它来创建和执行Appium测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清安无别事

慢慢的积累一杯奶茶吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值