zoukankan      html  css  js  c++  java
  • MoneyRunner API汇总

    MonkeyRunner API 汇总

    MonkeyRunner工具主要有三个类:

    1. MonkeyRunner
    2. MonkeyDevice
    3. MonkeyImage

    1.MonkeyRunner类:

    MonkeyRunner提供连接真机和模拟器、输入、暂停、警告框等方法。

    常用方法

    waitForConnection(float timeout,string deviceid),

    from com.android.monkeyrunner import MonkeyRunner as mr
    print("connect devices...")
     
    device=mr.waitForConnection()
    # device=mr.waitForConnection(5,'127.0.0.1:62001')

    2.MonkeyDevice类

    MonkeyDevice类提供了安装和卸载程序包、开启Activity、发送按键和点击事件、运行测试包等方法。

    常用方法

    • installPackage (string path)
    • removePackage (string package)
    • startActivity (string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, flags)
    • touch (integer x, integer y, integer type)

    touch参数

    integer x,x坐标值。
    integer y,y坐标值。
    integer type,key event类型(如DOWN、UP、DOWN_AND_UP)。

    DOWN为按下事件 UP为弹起事件 DOWN_AND_UP为按下弹起事件。

    • drag (tuple start, tuple end, float duration, integer steps)

    drag参数详细说明:

    tuple start,拖拽起始位置,为tuple类型的(x,y)坐标点。
    tuple end,拖拽终点位置,为tuple类型的(x,y)坐标点。
    float duration,拖拽手势持续时间,默认为1.0s。
    -integer steps,插值点的步数,默认值为10。

    实践案例:

    连接设备,安装考研帮App并启动

    代码实现

    kyb_start.py

    from com.android.monkeyrunner import MonkeyRunner as mr
    from com.android.monkeyrunner import MonkeyDevice as md
     
     
    print("connect devices...")
    device=mr.waitForConnection()
     
    print("install app...")
    device.installPackage(r'C:Userskaoyan3.1.0.apk')
     
    package = 'com.tal.kaoyan'
    activity = 'com.tal.kaoyan.ui.activity.SplashActivity'
    runComponent = package + '/' + activity
     
    print("launch App...")
    device.startActivity(component=runComponent)

    代码执行方式

    monkeyrunner scripfile
     
    C:Users>monkeyrunner C:monkeyrunner_scriptkyb.py

     

     

    3.MonkeyImage类

    MonkeyImage类在测试过程中用来保存各种格式的测试截图,并可以进行图像对比。

    常用方法

    • takeSnapshot() 进行屏幕截图
    • writeToFile() 保存图像文件到指定的文件路径

     

    用法示例

    from com.android.monkeyrunner import MonkeyImage as mi  
    print("takeSnapshot")
    screenshot=device.takeSnapshot()  
    screenshot.writeToFile(r'C:monkeyrunner_script	est.png','png'

    综合实践

    测试场景

    • 连接设备,自动安装并启动考研帮app
    • 启动后登录账号,然后截图并保存到指定文件位置。

    思路分析

    • 连接设备
    • 安装app
    • 启动app
    • 输入用户名密码点击登录按钮
    • 截图
    •  

    脚本实现

    kyb_login.py

    from com.android.monkeyrunner import MonkeyRunner as mr
    from com.android.monkeyrunner import MonkeyDevice as md
    from com.android.monkeyrunner import MonkeyImage as mi

    print("connect devices...")
     
    device=mr.waitForConnection()
     
    print(" install app")
    device.installPackage(r'C:Userskaoyan3.1.0.apk')
     
    print("launch app...")
    package='com.tal.kaoyan'
    activity='com.tal.kaoyan.ui.activity.SplashActivity'
    runComponent=package+'/'+activity
     
    device.startActivity(component=runComponent)
    mr.sleep(3)
     
     
    print("touch cancel button")
    device.touch(618,895,'DOWN_AND_UP')
    mr.sleep(1)
     
     
    print("touch skip button")
    device.touch(804,67,'DOWN_AND_UP')
    mr.sleep(1)
     
    print("input username and password")
    device.touch(57,373,'DOWN_AND_UP')
    mr.sleep(2)
    device.type('zxw1234')
     
    device.touch(152,480,'DOWN_AND_UP')
    mr.sleep(2)
    device.type('zxw123456')
    mr.sleep(2)
     
    print("touch login button")
    device.touch(331,634,'DOWN_AND_UP')
     
    print("takeSnapshot")
    screenshot=device.takeSnapshot()
    screenshot.writeToFile(r'C:monkeyrunnerkyb.png','png')
     

    问题汇总:

    方法调用

    AttributeError: type object 'com.android.monkeyrunner.XXXXX' has no attribute XXXXXX

    检查调用的方法名,特别是注意区分大小写。

    字符编码

    SyntaxError: Non-ASCII character in file 'C:monkeyrunner_scriptkyb.py', but no encoding declared;

    需要在代码顶部补充 # -- coding: utf-8 -- 或者去掉代码中的中文字符

    #本文源于网络学习汇总,如有侵权请联系第一时间删除#

  • 相关阅读:
    SpringApplication类-1
    post与head注入
    sql_post注入
    渗透测试点线面合集
    渗透入侵溯源
    VMware 安装Tools 失败的问题:VGAuthService 启动失败
    Weblogic wls-wsat XMLDecoder 反序列化漏洞复现(CVE-2017-10271)
    web常见的中间件漏洞及复现
    XX点评H5字体映射
    python控制阿里云服务器开机,关机,重启
  • 原文地址:https://www.cnblogs.com/czb4256/p/10486125.html
Copyright © 2011-2022 走看看