(二)Monkey自动化脚本

=========================================

(一)是随机的命令对APP进行自动化测试,可以快速发现APP的问题,若执行时设置的-S 100出现了一个错误,后面再执行时,只需设置相同的-S,就会按照第一次执行命令的顺序再次执行

(二)自动化就是比较有针对性的对某一个功能进行自动测试,比如一个功能偶发了一个问题,这个时候就可以写个脚本多次看看能不能复现。

=========================================

1.编写规则

>>脚本优势:简单、快捷、不需要借助任何工具,可以做简单的性能测试

>>脚本缺点:只能简单实现坐标、按键等基本操作,在不同屏幕尺寸、分辨率的手机上无法复用

>>脚本格式:

#头文件、控制monkey发送消息的参数

type = raw events             //表示原始事件

count =10                          //脚本包含的指令

speed = 1.0                       //脚本执行速度,以上可以参考该固定格式

# 以下是monkey命令

start data >>                                                        //脚本开始提示

    LaunchActivity(pkg_name,activity)       

    DispatchPress(KRYCODE_ENTER)

    DispatchPress(KEYCODE_HOME)

2.Monkey常见API

 >>LaunchActivity(pkg_name,activity)    启动应用的Activity:

  pkg_name:包名,activity:应用程序入口activity

>>Tap(x,y,tapDuration)   模拟单击事件

  x,y:坐标,  tapDuration:点击的持续时间,可以省略,有默认时间

>>RotateScreen(rotationDegree,persist)

  rotationDegree: 旋转角度,persist:旋转之后是否固定

>>DispatchPress(keyname)  按键事件

>>DispatchFlip(true/false)     打开或者关闭软键盘:软件键盘,如讯飞

>>RunCmd(cmd)     在设备上运行shell命令

>>PressAndHold(x,y,pressDuration)    模拟长按事件:

  pressDuration: 长按持续时间

>>DispatchString(input)          输入字符串

>>DeviceWakeUp()                 唤醒屏幕

>>UserWait(sleepTime)    让脚本中断一段时间,防止找不到元素报错

3.Monkey脚本编写步骤

3.1了解常用的API规则

3.2确定步骤,如下:

>>获取包名和Activityname

  1)通过sdk自带的aapt工具:

   2)命令行执行:

  当前路径下cmd,输入: aapt dump badging  被测应用程序安装包路径(可拖拽),回车

  3)查找包名和应用程序入口Activityname

 

>>一步一步在手机上操作,并获取像素点

  利用工具(sdk自带uiautomatorview.bat或者开发者选项中的坐标位置)

  1)sdk自带uiautomatorview.bat:较麻烦,不推荐使用

  

   2)开发者选项中的坐标位置

  关于手机--5连击版本号--开发者选项显示--进入开发者选项--找到显示触摸操作和指针位置并开启,此时鼠标点击屏幕时最上方就会显示坐标

>>要仔细的检查下,是否脚本上的每一步都跟你的手动操作对应

>>检查脚本,跑一下脚本

3.3运行脚本

将文件放到手机中,adb push 本地monkey脚本文件   /data/local/tmp

运行文件:adb shell monkey -f  手机文件地址/文件名称  数量

4.实例演示

要求:打开浏览器,输入www.baidu.com,测试10次

步骤解析:

1).打开浏览器

2).输入网址

3).确认,载入网址

4).完成,返回到桌面

==============================================================

问题1:浏览器为系统级别应用程序,我们没有该apk的安装包怎么办?

解决:

首先,第三方应用程序是放在/data/app目录的,在该目录下可以找到第三方应用程序apk,如图:

  

base.apk即我们安装的某第三方apk包名,只不过被改名了,可以把该apk拉到本地重新安装确认:

重点来了, 系统级别的安装包存放在sysytem目录:

 要去确认是存放在app目录下还是priv-app目录下,分别进去看一下,找到拉到指定目录即可,按照3.2操作找到包名和应用程序Activity名

=====================================================================

操作:

1)创建txt文件,编写脚本:

2)把脚本推送到/data/local/tmp目录下

  adb push 脚本路径   /data/local/tmp

3)执行

  adb  shell monkey -f  /data/local/tmp/monkey_browser.txt  10

原文地址:https://www.cnblogs.com/kxx-1/p/13338200.html