• 安卓app测试之Monkeyscript


    MonkeyScript是一组可以被Monkey识别的命令集合 

    • 优点:MonkeyScript可以完成重复固定的操作
    • 使用:adb shell monkey -f <scriptfile> <event-count>

     一、MonkeyScript命令

    1、DispatchTrackball —— 轨迹球事件

    DispatchTrackball(long downtime,long eventtide,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecision,int device,int edgeflags)

    【注意:按一个键需要两个轨迹球事件】

    参数详解:

    • long downtime指键最初被按下的时间
    • long eventtide指事件发生的时间
    • int action指具体操作的动作,如按下
    • float x,float y指x和y的坐标
    • float pressure压力事件的大小(0~1)
    • float size指触摸的记事值(0~1)
    • int metastate指当前按下mate键的标识
    • float xprecision,float yprecision指x和y坐标的精确值
    • int device事件的来源(0~x)
    • int edgeflags指超出屏幕了范围 
    • action:0代表按下,1代表弹起

    2、DispatchPointer ——点击事件

    DispatchPointer(long downtime,long eventtide,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecision,int device,int edgeflags)

    【注意:按一个键需要两个点击事件】

    3、DispatchString——输入字符串命令

    DispatchString(String text)

    4、LaunchActivity —— 启动应用 

    LaunchActivity(package,Activity)

    5、UserWait—— 等待事件 

    UserWait(1000)

    6、DispatchPress——按下键值

    DispatchPress(int keycode) ——keycode 66 回车键

    二、MonkeyScript实战

    在搜索框中输入查询词 —— 思考? 完成这个操作需要哪几步操作?

    需要11个步骤:

    1、启动App

    2、点击地址栏

    3、删除原有地址 

    4、输入www.baidu.com

    5、点击回车键,让新地址到地址栏中

    6、点击回车

    7、点击搜索框 

    8、输入Helloween

    9、点击回车键,让查询词到搜索框中

    10、点击搜索按钮

    11、等待结果

    新建script文件:脚本如下显示:

     1 typ=user 
     2 count=10
     3 speed=1.0
     4 start data >> 
     5 LaunchActivity(com.android.browser,com.android.browser.BrowserActivity) 
     6 UserWait(5000)
     7 DispatchPointer(10,10,0,200,100,1,1,-1,1,1,0,0)
     8 DispatchPointer(10,10,1,200,100,1,1,-1,1,1,0,0)
     9 DispatchPress(112)
    10 DispatchString(www.baidu.com)
    11 DispatchPress(66)
    12 UserWait(10000)
    13 DispatchPointer(10,10,0,300,400,1,1,-1,1,1,0,0)
    14 DispatchPointer(10,10,1,300,400,1,1,-1,1,1,0,0)
    15 UserWait(1000)
    16 DispatchString(besttest) 
    17 UserWait(3000)
    18 DispatchPress(66)
    19 UserWait(10000)

    三、注意事项

    • 脚本需要push到手机中才可以——push monkey.script /data/local/tmp
    • 没有调试的功能,需要自己仔细去找问题
    • 如果启动时并不是自己要测试的App,需要开发在Android的配置文件中加入相关配置 ——android:exported=”true”
  • 相关阅读:
    [array] leetcode
    [array] leetcode
    [array] leetcode
    无法将“Scaffold-DbContext”项识别为 cmdlet、函数、脚本文件或可运行程序的名称...
    远程桌面报错解决:No Remote Desktop License Servers Available
    linux设置开机自启动
    阿里云ECS服务器环境搭建 ubuntu 16.04 图形界面的安装
    VS C#程序打包覆盖安装不能更新的解决方法
    MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)
    "docker build" requires exactly 1 argument(s).
  • 原文地址:https://www.cnblogs.com/wuzm/p/10967552.html
Copyright © 2020-2023  润新知