美文网首页
[AP_03] Monkey自定义脚本测试 & 日志管理

[AP_03] Monkey自定义脚本测试 & 日志管理

作者: Fighting_001 | 来源:发表于2019-05-02 16:11 被阅读0次

目录结构

一、自定义脚本的稳定性测试案例
    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值、事件流数目、事件占比、发送的事件及其对应的坐标...

相关文章

网友评论

      本文标题:[AP_03] Monkey自定义脚本测试 & 日志管理

      本文链接:https://www.haomeiwen.com/subject/joewnqtx.html