博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android App 专项测试--压力测试篇(三)
阅读量:6887 次
发布时间:2019-06-27

本文共 3510 字,大约阅读时间需要 11 分钟。

第三部分(脚本)

MonkeyScript

  1. 执行monkey 脚本的命令:

      adb shell monkey  -f  < scriptfile > < event -count >

      (1)轨迹球事件

       DispatchTrackball 命令: DispatchTrackball(long downtime,long eventide,int action, float x,float y, float pressure, float size, int metastate, float xprecision, float yprecision, int device, int edgeflags)

    action  0 代表 按下, 1 代表 弹起, x 和 y 带表的坐标点

   (2)点击事件

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

     action 0 代表按下, 1 代表弹起, x 和 y 代表的坐标点

   (3)输入字符串的事件

    DispatchString (String text)

   (4)启动应用

    LauchActivity(package,Activity)

   (5)等待事件

    UserWait(millonseconds)

    (6) 按下键值

    DispatchPress(int keycode)   #keycode 66 回车键

   事例:在搜索框中输入查询词  重复2次

           adb shell monkey  -f  monkey.script  

#实现在搜索框 搜索关键词#1. 启动app#2. 点击输入框#3. 输入查询词#4. 点击键盘上的回车#5. 点击搜索按钮#6. 等待结果的出现type = usercount = 10speed = 1.0start data >>LaunchActivity(com.example.zhangjian.minibrowser2, com.example.zhangjian.minibrowsers.MainActivity)UserWait(2000)# 点击坐标(100,100) 0 代表按下DispatchPointer(10,10,0,100,100,1,1,-1,1,1,0,0) # 点击坐标(100,100) 1 代表弹起 DispatchPointer(10,10,1,100,100,1,1,-1,1,1,0,0)#输入框 输入 testDispatchString(test)UserWait(1000)# 点击回车的keycode 值为66DispatchPress(66)UserWait(1000)# 点击搜索按钮DispatchPointer(10,10,0,400,100,1,1,-1,1,1,0,0)DispatchPointer(10,10,1,400,100,1,1,-1,1,1,0,0)# 等待6秒UserWait(6000)

     注意:若app 不能被launch起来,检查 manifest.xml这句 : < activity android:name = ".MainActivity"   android:exported= "true" >   允许被外部调起

   

Monkey Runner

  1. MonkeyRunner API - alert

   void alert (string message,striing title, striing okTitle)

1 #!python2 #_*_UTF-8_*_3 from com.android.monkeyrunner import MonkeyRunner4 MonkeyRunner.alert("Hello mook frends", "This is title","OK")5 6 # 执行方式7 #monkeyrunner demo.py

  2. MonkeyRunner API - waitForConnection

   waitForConnection(float timeout, string deviceid)

  3. MonkeyDevice API - drag(拖动)

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

   start 起点位置

   end 终点位置

   duration 手势持续的时间

   steps 插值点的步数,默认 10 

  4. MonkeyDevice API - press(按键)

   press(string keycode,dictionary type)

   keycode 名,Down、UP、DOWN_AND_UP

  5. MonkeyDevice API - startActivity(启动应用)

   startActivity(package/ activity)  

  6. MokeyDevice API - touch(点击)

   touch(integer x,integer y, integer type)

   x 坐标值, y坐标值

    type: DOWN,UP,DOWN_AND_UP

  7. MonkeyDevice API- takeSnapshot(截屏)

   MonkeyDevice.takeSnapshot()

  8.MonkeyImage API - sameAs

   图像对比

   boolean sameAs (MonkeyImage other, float percent )

  9. MonkeyImage API - writeToFile(保存图像)

   void writeToFIle(string path, string format)

  实例:monkeyrunner  mook.py     

1 #实例 搜索 建军90年阅兵 2 #!python 3 #_*_UTF-8_*_ 4 from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage 5 #连接设备 6 device = MonkeyRunner.waitForConnection(3,"192.168.26.101:5555") 7 #启动app 8 device.startActivity("com.example.zhangjian.minibrowser2/com.example.zhangjian.minibrowser2.MainActivity") 9 MonkeyRunner.sleep(2)10 #点击搜索框11 device.touch(100,100,"DOWN_AND_UP")12 MonkeyRunner.sleep(1)13 #输入查询词14 device.type("建军90年阅兵")15 MonkeyRunner.sleep(1)16 #点击回车键17 device.press("KEYCODE_ENTER","DOWN_AND_UP")18 MonkeyRunner.sleep(1)19 #点击搜索框20 device.touch(400,100,"DOWN_AND_UP")21 MonkeyRunner.sleep(6)22 #截屏23 image = device.takeSnapshot()24 image.writeToFile('./test.png','png')25 #点击清除按钮26 device.touch (300,100,"DOWN_AND_UP")27 MonkeyRunner.sleep(3)
mook.py

 

转载于:https://www.cnblogs.com/dongtian/p/7259884.html

你可能感兴趣的文章
Android View 事件分发源码分析
查看>>
vue 2.0 - props
查看>>
RustCon Asia 实录 | Rust 在国内某视频网站的应用
查看>>
Vue遇上Analytics
查看>>
修改max_allowed_packet(允许执行的sql最大长度)
查看>>
node js 处理时间分析
查看>>
判断数据库、表和字段是否存在
查看>>
新手安装postgreSQL后无法连接服务器
查看>>
递归和动态规划
查看>>
java实现简单的控制台管理系统
查看>>
建造模式
查看>>
BZOJ 4025: 二分图
查看>>
openNebula rgister img instance vms error collections
查看>>
error Infos
查看>>
PL/sql配置相关
查看>>
[New Portal]Windows Azure Virtual Machine (3) 在VM上挂载磁盘
查看>>
字体随着ProgressBar的加载而滚动
查看>>
Handler 机制再了解
查看>>
如果你是前端工程师,把你的网站或者你知道的网站加进来吧
查看>>
阿里云产品头条(2017年12月刊)
查看>>