zoukankan      html  css  js  c++  java
  • Monkey自动化脚本(一)

    1.Monkey简介

      Monkey-猴子,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,主要用于Android 的压力测试  自动的一个压力测试小工具!

    2.安装Android SDK 并配置环境变量(在java+appium中总结过,本节不做具体介绍)。

    3.monkey脚本编写步骤

    (1)获取包名和入口activity(获取夜神模拟器中的应用apk的包名和类名)

      ①如果获取的apk是第三方的应用程序如何获取包名和类名(如百度地图apk)

      打开cmd首先通过 adb connect 127.0.0.1:62001连接夜神模拟器
      cd D:appiumadt-bundle-windows-x86_64-20140702sdkuild-toolsandroid-4.4W
      adb shell
      cd /data/app
      ls
      com.baidu.BaiduMap-1.apk
      exit
      //准备把apk拿出来
      adb pull /data/app/com.baidu.BaiduMap-1.apk D:appiumapk

      

      

      ②如果获取的apk是手机本地的应用程序如何获取包名和类名(如本地浏览器apk)

      adb shell
      cd /system
      ls
      cd /app 或者 cd /priv-app
      ls
      //准备把Browser.apk拿出来
      adb pull /system/app/Browser.apk D:appiumapk

      

      

      

      package: name='com.android.browser'

      launchable-activity: name='com.android.browser.BrowserActivity'

    (2)在手机上获取相应的像素点坐标(利用SDK自带的uiautomatorviewer.bat或者开发者选项中的坐标位置)

      首先打开模拟器关于手机页面,双击版本号打开开发者模式,然后进入开发者选项选择如下:

      

    (3)编写脚本并检查脚本

    #头文件,控制monkey发送消息的参数
    type = raw events
    count = 10
    speed = 1.0
    #以下上monkey命令
    start data >>
              #打开测试应用的程序
              LaunchActivity(com.android.browser,com.android.browser.BrowserActivity)
              #加等待
              UserWait(8000)
              Tab(128,70)
              #输入网址: https://www.monkey.org/
              DispatchString(https://www.monkey.org/)
              UserWait(5000)
              #Enter
              DispatchPress(KEYCODE_ENTER)
              #输入Home键返回到桌面
              #DispatchPress(KEYCODE_HOME)

    (4)运行脚本
      将文件放到手机中:adb push 本地monkey脚本文件 /data/local/tmp

      adb push sh D:appiumMonkey_TestCaseopenBrowser.txt /data/local/tmp

      

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

      adb shell monkey -f /data/local/tmp/openBrowser.txt 1

      

    (5)安卓键值扩展参考地址:https://www.cnblogs.com/xiaozhaoboke/p/10029488.html

    小结:通过学习后自我实践总结,如有不足之处,请大神指出,分享给正在学习monkey的小白,仅供参考!

  • 相关阅读:
    ajax 406 Not Acceptable
    HTTP Status 400
    HTTP Status 500
    ClassNotFoundException: javax.validation.ValidatorFactory
    mysql 外键引发的删除失败
    Cannot invoke Tomcat manager: socket write error
    记一次恐怖的 Integer 溢出
    又见 tomcat启动startup.bat一闪而过
    Cannot run Eclipse; JVM terminated. Exit code=13
    The type javax.swing.JComponent cannot be resolved. It is indirectly referenced from required .class files
  • 原文地址:https://www.cnblogs.com/xiaozhaoboke/p/10028585.html
Copyright © 2011-2022 走看看