zoukankan      html  css  js  c++  java
  • (二)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

  • 相关阅读:
    Flink命令行提交job (源码分析)
    Flink 中LatencyMarks延迟监控(源码分析)
    Flink中的CEP复杂事件处理 (源码分析)
    Flink中异步AsyncIO的实现 (源码分析)
    Flink中发送端反压以及Credit机制(源码分析)
    Flink中接收端反压以及Credit机制 (源码分析)
    Flink整合oozie shell Action 提交任务 带kerberos认证
    Flink中TaskManager端执行用户逻辑过程(源码分析)
    Flink的Job启动TaskManager端(源码分析)
    Flink中Idle停滞流机制(源码分析)
  • 原文地址:https://www.cnblogs.com/kxx-1/p/13338200.html
Copyright © 2011-2022 走看看