zoukankan      html  css  js  c++  java
  • monkey测试

    一、理解monkey测试

    1、Monkey测试是Android自动化测试的一种手段。Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。

    2、当Monkey程序在模拟器或真实设备运行的时候,程序会产生一定数量或一定时间内的随机模拟用户操作的事件, 如点击,按键,手势等, 以及一些系统级别的事件。通常也称随机测试或者稳定性测试。

    二、查看设备连接、包名、和入口Activity

    1、进入cmd查看设备连接状态:

    adb devices

    2、查看包名、和入口Activity

    进入cd D:Program Filesadt-bundle-windows-x86_64-20130917sdkuild-toolsandroid-4.3 

    目录下执行下条命令
    aapt  dump badging  apk安装包绝对路径
     
    三、运行monkey测试
     
     //不间断操作500次
    adb shell monkey -p 包名 -v 500  
     
    //每个操作间隔500ms,共执行100次
    adb shell  monkey -p 包名  -v-v --throttle  500 100
     
    //每个操作间隔100ms,共执行1000次 ,其中点击事件占比50%,轨迹50%                                                                            
    adb shell monkey  -p  包名  -v-v --pct-touch  50  --pct-trackball 50 --throttle 100 1000
     
    //日志重定向到桌面文件夹
    adb shell monkey  -p  包名  -v-v --pct-touch  50  --pct-trackball 50 --throttle 100 1000   >C:UsersxypDesktopAndroid脚本1.log
     
    //每个操作间隔500ms、崩溃、超时、许可错误继续执行
    adb shell  monkey -p  包名   --throttle  500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v-v-v  1000000>C:UsersxypDesktopAndroid脚本1.log
     
    四、停止monkey测试
    重新打开一个cmd窗口
    进入adb shell
    ps | grep monkey      //查找monkey进程
    kill  进程号   //结束monkey
     
    五、结果分析
    得到Monkey测试的log之后,我们可以通过几个关键词来判断测试是否通过。
    1、Monkey finished
    用记事本打开LOG,查看log的最下端,是否有类似以下字段:
    ## Network stats: elapsed time=3799ms (3799ms mobile, 0ms wifi, 0ms not connected)
    // Monkey finished
    这个字段表明本次的Monkey测试通过,没有异常
    2、CRASH
    同样,在得到LOG后,搜索”CRASH”字段,如果搜索到有结果,则表明,在测试过程中,测试对象出现了报错现象,因此测试失败。
    // CRASH: com.onekchi.downloadmanager (pid 12919)
    3、NOT RESPONDING
    在log中搜素该字段,如果有搜索有结果,则表示测试过程中,测试对象出现了进程无响应的现象,因此测试失败。
    4、无法搜索到上述信息
    出现这种情况,一般都是外界原因而非程序本身原因。比如测试过程中,电脑断电关机。或者测试过程中内存不足等等,结果作废,需要重新测试。
     
    六、monkey说明
    --throttle   时间间隔
    --ignore-crashes    忽略崩溃
    --ignore-timeouts  忽略超时
    --ignore-security-exceptions   忽略许可错误
    --ignore-native-crashes  忽略本地崩溃
    --monitor-native-crashes   监控本地崩溃
     
    --pct-touch  触摸、点击
    --pct-motion 调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)
    --pct-trackball  调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)

    --pct-nav 调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)

    --pct-majornav 调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)

    --pct-syskeys 调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)

    --pct-appswitch 调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法

    --pct-flip 调整“键盘翻转”事件的百分比。

    --pct-anyevent 调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等

    注意:各事件类型的百分比总数不能超过100%。

  • 相关阅读:
    PHP语言 -- 数据访问,连接数据库
    PHP语言 -- 面向对象和面向过程的区别
    (转)10条PHP编程习惯助你找工作
    PHP语言 -- 面向对象
    PHP语言 -- 数组常用函数
    jquery 与javascript关系 ①取元素 ②操作内容 ③操作属性 ④操作 样式 ⑤ 事件 点击变色
    PDO:: 数据访问抽象层 ? :
    查询一张表进行添加删除修改
    图片轮播,复制即用,安全快捷!
    会话控制
  • 原文地址:https://www.cnblogs.com/xiaoxitest/p/6122568.html
Copyright © 2011-2022 走看看