zoukankan      html  css  js  c++  java
  • Android App 专项测试--压力测试篇(三)

    第三部分(脚本)

    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 = user
    count = 10
    speed = 1.0
    start 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) #输入框 输入 test DispatchString(test) UserWait(1000) # 点击回车的keycode 值为66 DispatchPress(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 #!python
    2 #_*_UTF-8_*_
    3 from com.android.monkeyrunner import MonkeyRunner
    4 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
  • 相关阅读:
    Socket 端口网络监听
    java android 将小数度数转换为度分秒格式
    android popupwindow 位置显示
    【转】习大大的“黄土情结”:中国要富,农民必须富
    【转】中央农村工作会议首次提出人的新农村
    【转】【CDC翻客】移动端App测试实用指南
    【转】测试,人人都是产品经理之测试产品的选择和创造
    【转】易用性测试
    【转】功能测试的经验总结
    【转】在做性能测试之前需要知道什么
  • 原文地址:https://www.cnblogs.com/dongtian/p/7259884.html
Copyright © 2011-2022 走看看