day39--monkey命令+appium自动化脚本录制

对于手机测试,除了我们一些常规的功能测试,我们还会做稳定性测试,比如对于 Android 手机,我会使
adb 指令进行一些相应的操作,比如通过 adb 查看设置,进入设备,抓取 log ,我们测试的时候,会使用 adb
logcat 所抓出来的 log 日志存到电脑,发给开发,方便他们快速解决 bug
另外,我还会使用 monkey app 进行测试,可以使用 monkey app 做稳定性测试,主要就是测试操作 app 的时
候,程序是否会崩溃。
我们使用 adb shell monkey 指定对应的 app ,执行要测试的次数,指定要触摸的比率,超时时间和忽
略崩溃信息,就可以执行测试,将测试 log 存到某个位置,然后把测试出的 bug 日志发送给开发。 300000
我就简单的说一下测试的指令吧,比如我上边所说的逻辑,我们用 adb shell mokey -p 指定要测试
的包名 --ignore-crashs 忽略崩溃 --ignore-timeout 忽略超时 --throttle 38 指定延迟时间毫秒
-s 指定测试种子 指定测试次数,然后将文件 > 输出到磁盘中
android 介绍 :
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电 脑,由Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 安卓
android 架构:
Android的系统架构和其操作系统一样,采用了分层的架构。
从架构图看, Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 Linux内核层
Android 之四大组件:
Android 四大组件分别为 activity service content provider broadcast receiver
参考 : https://blog.csdn.net/shenggaofei/article/details/52450668
使用 monkey 测试手机所有程序 :
adb shell monkey 100 执行 monkey 测试 100 次 针对 rom测试或者-p < 允许的包名列表 >
adb shell monkey -p 包名 100
用此参数指定一个或多个包。指定包之后, monkey 将只允许系统启动指定的 app 。如果不指定包, monkey
允许系统启动设备中的所有 app
指定一个包:

显示日志详细程度 :
用亍指定反馈信息级别(信息级别就是日志的详细程度),总共分 3 个级别,分别对应的参数如下 表所示: adb shell monkey -p 包名 -v 30 // 缺省值,仅提供启动提示、测试完成和最终结果等
少量信息

adb shell monkey -p 包名 -v -v 30 // 提供较为详细的日志,包括每个发
送到 Activity 的事件信息

adb shell monkey -p 包名 -v -v -v 30 // 最详细的日志,包括了测试中选中 /
未选中的 Activity 信息
------------------------------------------------------------------
log 信息写到本地:
adb shell monkey 100 > 路径

 -s 随机数种子:

用亍指定伪随机数生成器的 seed 值,如果 seed 相同,则两次 Monkey 测试所产生的事件序列也相同的。 示
例:
monkey 测试 1 adb shell monkey –s 10 100
monkey 测试 2 adb shell monkey –s 10 100

 --throttle <毫秒>

用亍指定用户操作(即事件)间的时延,单位是毫秒;如果不指定这个参数, monkey 会尽可能快的 生成和发
送消息。
例: adb shell monkey -p com.example.login --throttle 300 100
表示执行 100 个伪随机用户事件流,事件间隔为 300 毫秒。
注:一般设置为 300 毫秒,原因是实际用户操作的最快 300 毫秒左右一个动作事件

 --pct-touch 触摸事件

调整触摸事件的百分比。(触摸事件是指在屏幕中的一个 down-up 事件,即在屏幕某处按下并抬起的操作)
–pct-touch :触摸事件。即在某一位置的 Down-Up (手指的放下和抬起)事件。 Down
ACTION_DOWN )和
Up
ACTION_UP )的坐标临近,但并非相同。
如: adb shell monkey --pct-touch 67 -v 10
表示执行 10 个伪随机用户事件流,并调整其中触摸事件的百分比为 67%
注:此参数设置要适应当前被测应用程序的操作,比如一个应用 80% 的操作都是触摸,那就可以将此参数的百
分比设置成相应较高的百分比
--pct-motion
调整手势事件 motion 事件百分比。( motion 事件是由屏幕上某处一个 down 事件、一系列伪随机的移动事件和
一个 up 事件组成)
–pct-motion :动作事件。以 Down
ACTION_DOWN )开始, Up
ACTION_UP )结尾,中间至少有一次 Move
ACTION_MOVE )。
如: adb shell monkey --pct-motion 67 -v 10
表示执行 10 个伪随机用户事件流,并调整其中动作事件的百分比为 67%
注:这里的移动是直线滑动

0--pct-touch//touch
events percentage触摸事件百分比(触摸事件是一个在屏幕单一位置的按下-抬起事件)
1--pct-motion//motion
events percentage手势事件百分比(手势事件是由一个在屏幕某处的按下事件、一系列的伪随机移动、一
个抬起事件组成)即一个滑动操作,但是是直线的,不能拐弯
2--pct-pinchzoom//pinch
zoom events percentage二指缩放百分比,即智能机上的放大缩小手势操作
3--pct-trackball//trackball 即单纯的Move
ACTION_MOVE
events percentage轨迹球事件百分比(轨迹球事件包括一个或多个随机移动,有时还伴有点击。轨迹球现
在智能手机上已经没有了,就是类似手柄的方向键一样)
4--pct-rotation//screen
rotation events percentage屏幕旋转百分比,横屏竖屏
5--pct-nav//nav 基本导航事件。即来自于方向输入设备的上下左右操作。
events percentage”基本导航事件百分比(导航事件包括上下左右,如方向输入设备的输入)老手机的上
下左右键,智能机上没有
6--pct-majornav//major Navigation Bar的确认,菜单,返回键等
nav events percentage”主要导航事件百分比(这些导航事件通常会引发UI的事件,例如5-way pad
中间键、回退键、菜单键)
7--pct-syskeys//system(key)
operations percentage”系统按钮事件百分比(这些按钮一般专供系统使用,如Home, Back, Start
Call, End Call,音量控制)
8--pct-appswitch//app
switch events percentage启动activity事件百分比。在随机的间隔里,Monkey会执行一个
startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法
9--pct-flip//keyboard
flip percentage键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回
10--pct-anyevent//anyevents 该事件可能包含其他上述事件。
percentage其他类型事件百分比。包括了其他所有的类型事件,如按键、其他不常用的设备上的按钮等等。
--ignore-crashes
作用:通常,应用发生崩溃或异常时 Monkey 会停止运行。如果设置此项, Monkey 将继续发送事件给系统,直 到事件计数完成。
正常操作,不忽略异常

 忽略异常

黑名单白名单:

 

1. -p后面接着的对应的包名,对具体某个app测试
2. -s后面是对应的种子数,好像就是操作步骤,一般设置相同的种子数目的是复现bug
3. --ignore-crashes --ignore-timeouts 这里是在monkey测试的过程中遇到carash
或者timeout的情况时忽略掉,一般不设置时,出现carash或者timeout时,Monkey测试会终止。这里是防
Monkey测试终止。
4. -v 指的是Monkey测试时打印log级别。
5. 100000 这里是指点击的次数,根据她们测试的经验,对于单个应用程序这个次数设置在
100000次就可以了;如果是真机,一般设置在500000次。
6. --throttle-时间 ,设置事务之间的延迟等待时间,单位是毫秒
7.>路径,设置日志存储路径

appium:

 

 

 如果安装appium失败的话需要升级最新版本pip

Could not build wheels for cryptography which use PEP 517 and cannot be installed directly_大白的随笔的博客-CSDN博客

如果无法升级最新版本

去C:\Users\lenovo\Desktop\xxzl\ruanjian\PyCharm\PyCharm代码\appium\venv\Lib

复制site-packages包替换了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值