目录结构
一、自定义脚本的稳定性测试案例
1. 需求分析
2. 获取元素坐标点位置
3. Monkey脚本API简介
4. Monkey脚本格式
5. 编写脚本
6. 执行脚本
二、Monkey日志管理
1. 日志管理作用
2. 日志保存
1)保存在PC端路径中
2)保存在手机设备上
3)标准流和错误流分开保存
4)日志内容分析
一、自定义脚本的稳定性测试案例
常规Monkey测试执行的是随机的事件流,若是对某个特定场景进行测试,则需要用到自定义脚本,Monkey支持执行用户自定义脚本的测试,用户只需按照Monkey脚本的规范编写脚本,存放到手机上,启动Monkey通过-f参数调用脚本即可
测试案例
启动考研帮app3.3,然后跳过升级提示和引导面,进入到登录界面并输入用户名密码进行登录
1. 需求分析
从用户角度来思考步骤该怎样进行?
要操作的元素该如何定位?
怎样将操作步骤转化为测试脚本?
2. 获取元素坐标点位置
Monkey脚本只能通过坐标的方式来定位点击和移动事件的屏幕位置,这里就需要提前获取坐标信息。获取坐标信息的方法,很多最简单的方法就是打开手机中的开发人员选项,打开"显示指针位置",然后在屏幕上的每次操作,在导航栏上都会显示坐标信息
3. Monkey脚本API简介
LaunchActivity(pkg_name,cl_name)
:启动应用的Activity。参数:包名、启动的Activity
Tap(x,y,tapDuration)
:模拟一次手指单机事件。参数:x,y为空间坐标;tapDuration为点击的持续时间(此参数可省略)
UserWait(sleepTime)
:休眠一段时间
DispatchPress(keyName)
:按键。参数:keycode
RotateScreen(rotationDegree,persist)
:旋转屏幕。参数:rotationDegree为旋转角度(1表示90°);persist表示旋转之后是否固定,0表示旋转后恢复,非0表示固定不变
DispatchString(input)
:输入字符串
DispatchFlip(true/false)
:打开or关闭软键盘
PressAndHold(x,y,pressDuration)
:模拟长按事件
Drag(xStart,yStart,xEnd,yEnd,stepCount)
:模拟拖拽事件
PinchZoom(x1Start,y1Start,x1End,y1End,x2Start,y2Start,x2End,y2End,stepCount)
:模拟缩放手势
LongPress()
:长按2s
DeviceWakeUp()
:唤醒屏幕
PowerLog(power_log_type,test_case_status)
:模拟电池电量信息
WriteLog()
:将电池信息写入sd卡
RunCmd(cmd)
:运行shell命令
ProfileWait
:等待5s
4. Monkey脚本格式
包括:头文件信息、具体的monkey命令
# 头文件信息
type = raw events
count = 1
speed = 1.0
# monkey命令
start data >>
具体的monkey脚本内容
5. 编写脚本
准备工作:
(1)获取appActivity:aapt dump badging xxxx.apk | find "launchable-activity"
(2)获取appPackage:aapt dump badging xxxx.apk | find "package: name="


获取的包名为:com.tal.kaoyan
获取的Activity为:com.tal.kaoyan.ui.activity.SplashActivity
(3)打开手机设备中的坐标位置显示的功能
设置-->开发者选项-->输入[指针位置],勾选开启


脚本代码:
login.txt
# 头文件信息
type = raw events
count = 1
speed = 1.0
# 启动测试
start data >>
# 启动APP
LauchActivity(com.tal.kaoyan,com.tal.kaoyan.ui.activity.SplashActivity)
UserWait(2000)
# 点击用户名输入框(输入实际的用户名)
Tap(178,288,1000)
DispatchString(xxxxx)
UserWait(2000)
# 点击密码输入框(输入实际的密码)
Tap(128,354,1000)
DispatchString(yyyyy)
UserWait(2000)
# 点击登录按钮
Tap(362,468,1000)
6. 执行脚本
脚本编写完成后,传到手机设备上,然后调用执行
adb push C:\Users\Administrator\Desktop\login.txt /sdcard
adb shell monkey -f /sdcard/login.txt -v 1
执行结果:

随着脚本执行完成,Android模拟器中已实现模拟登录到考研帮APP:

二、Monkey日志管理
1. 日志管理作用
Monkey日志管理是Monkey测试中非常重要的一个环节,通过日志管理分析,可以获取当前测试对象在测试过程中是否会发生异常,以及发生的概率,同时还可以获取对应的错误信息,帮助定位和解决问题
2. 日志保存
monkey日志保存方法
①保存在PC中
②保存在手机上
③标准流和错误流分开保存在不同位置
1)保存在PC端路径中
语法:adb shell monkey [option] {count} >PC端路径
e.g.:
adb shell monkey -v -v 100>D:\CI_Env\Appium\Monkey\pc.log


2)保存在手机设备上
adb shell
monkey -v 100 >/sdcard/mk.log
PS:以上2个命令需要分开执行,不能合二为一,否则会报错"系统找不到指定的路径"

3)标准流和错误流分开保存
语法:monkey [option] {count} 1>路径x 2>路径y
e.g.:
adb shell
monkey -v 100 1>/sdcard/mk_std.log 2>/sdcard/mk_err.log
执行以上命令,Monkey运行的正常日志将保存在mk_std.log文件中,异常日志将保存在mk_err.log文件中

4)日志内容分析
默认的seed值、事件流数目、事件占比、发送的事件及其对应的坐标...
网友评论