• 【03】App自动化-monkey和monkeyrunner简介


    一、monkey简介

    1、启动monkey:

      adb shell

      cd  /system/bin

      monkey

    2、强制关闭monkey

      adb shell ps  查看全部在运行进程

      查出com.android.commands.monkey进程pid

      adb shell kill pid  杀掉monkey进程

    3、操作事件简介

      -f  测试脚本名运行

      -s  随机运行

      --throttle  指令间固定时间间隔

      --ptc -touch  触摸事件百分比

      --ptc -motion  动作事件百分比

      --ptc -trackball  轨迹球事件百分比

      --ptc -nav  基本导航事件百分比

      --ptc -majornav  主要导航事件百分比

      --ptc -syskeys  系统按键事件百分比

      --ptc -appswitch  应用启动事件百分比

      --ptc -anyevent  其他事件百分比

      --ignore -crashe  在应用程序崩溃后继续发送事件

      --ignore -timeouts  在任何超时错误发生后继续发送事件

      --ignore -security -exceptions  在应用程序权限发生错误后继续发送事件

    4、monkey随机性测试

      adb  shell  monkey  -p  com.tai.kaoyan  #-p指定包名
    --ptc -touch 40 --ptc -motion 25  #触摸事件,手势事件百分比
    --ptc -appswitch 10  #覆盖尽可能多的activity
    --pct -ratation  5  #调转横竖屏
    -s  1666 --throttle 400  #-s  指定事件流便于复现问题    --throttle   每个操作之间的间隔时长
    --ignore -crashes  --ignore - timeout  #遇到意外或超时时能调转并在日志中记录
    -v -v  200   1>d:monkey.log   2>d:error.log  #随机运行200次    详细记录日志,正确写到monkey,错误写到error

    5、monkey自定义脚本稳定性测试

      type = raw events
      count = 1
      speed =1.0
      start  data>>
      launchActivity(com.tail.kaoyan , com.tail.kaoyan.ul.activity.splashActivity)
      #获取包的Activity:aapt dump badging  包名 |findstr launchable -activity
      userWait(2000)  #等待2秒
      Tap(624.900.1000)  #点击确认  此时坐标通过设置中的指针获取
      Tap(217.358.1000)  #点击用户名输入框
      DispatchString(1258478)  #输入字符串
      userWait(2000)  #等待2秒

      脚本编写完成后,传到手机设备上,然后执行

      adb push 脚本路径名称   手机地址

      adb shell monkeys  -f  脚本  -v -v  200 1>d:monkey.log 2>d:error.log

    二、monkeyrunner简介

    1、monkeyrunner环境搭建:

      ①、安装并配置好jdk环境

      ②、安装android sdk

      ③、安装python安装配置校验

      ④、monkeyrunner环境变量配置

    2、aapt 命令查看apk包名、主activity等信息

     cmd进入这个文件夹,执行aapt dump badging C:\zhihu.apk >1.log,在对应的目录下分别搜索package和activity即可

    3、monkeyrunner脚本

    # coding:utf-8
    
    import sys
    from com.android.monkeyrunner import MonkeyRunner as mr
    from com.android.monkeyrunner import MonkeyDevice as md
    from com.android.monkeyrunner import MonkeyImage as mi
    
    
    #链接设备
    device =mr.waitForConnection('H8U4C16B08001830')
    device.installPackage(r'C:UserslenovoDesktop123zhihu.apk')
    '''
    获取apk的包名和activity名:
    在电脑的sdk的build-tools的版本目录下输入aapt dump badging C:\zhihu.apk >1.log,
    在对应的目录下分别搜索package和activity即可
    '''
    package = 'com.zhihu.android'
    activity ='com.zhihu.android.app.ui.activity.LauncherActivity'
    runComponent =package+'/'+activity
    #启动设备
    device.startActivity(component=runComponent)
    mr.sleep(1)
    #点击搜索框
    device.touch(340,718,'DOWN_AND_UP')
    mr.sleep(1)
    #输入查询内容
    device.touch(237,469,'DOWN_AND_UP')
    device.type('我是谁')
    mr.sleep(1)
    #回车
    device.press('KEYCODE_ENTER','DOWN_AND_UP')
    mr.sleep(1)
    #截图并保存
    screenshot=device.taskeSnapshot()
    screenshot.writeToFile(r'c:\1.png','png')

    4、运行脚本

    将要执行的文件,即monkeyscript.py文件存放到monkeyrunner存在的Android-SDK的tools文件下

     执行cmd命令:monkeyrunner monkeyscript.py,即可

  • 相关阅读:
    ASP.NET 后台弹出确认提示问题
    stretchableImageWithLeftCapWidth 自动适应UITableView
    UIBotton UIlabel Ios 下拉框
    cellForRowAtIndexPath UITableViewCell 选中后的背景颜色设置
    iOS 获得键盘的高度 NSNotificationCenter
    UIlabel 最小字体设置。
    NSMutableDictionary 与 NSMutableArray注意的地方
    iOS 背景图片。按钮高亮自定义背景
    iOS 判断当前输入法。UITextInputMode
    AudioServicesPlaySystemSound 系统声音提示 iOS iPad
  • 原文地址:https://www.cnblogs.com/qingbaobei7370/p/12377976.html
Copyright © 2020-2023  润新知