1 必备条件

1) 手机需要先获取root权限;

2) 手机和电脑相连(电脑可以访问手机里面的文件)

2  操作步骤

1) 使用adb devices 命令查看电脑手机是否相连;

下图表示手机已连上电脑

2) 使用adb shell 进入测试机中

3) 一般安卓手机的程序包都在data/data目录中的,我们需要进入data/data目录中,输入命令cd data/data,就进入到data/data目录中,ls看当前目录的内容

出现Permission denied,没有权限访问当前目录(原因可能有两个,第一:手机没有成功获取root权限;第二:不是管理员登录)

这边确认手机已经获取root权限,原因为第二种

4) Su命令切换到管理员权限

此时使用ls就可以成功查看里面的包名了

但是发现我想要测试的安装包并不在这个目录里面

5) 使用命令查看所有的包名 pm list package –f

找到自己想测试的包,或者找开发问包名都可以

6) 这里测试的是花生WiFi,包名为(com.nfyg.hsbb)

7) 基本参数

1、-p <apackage.name>
作用:指定包名,Monkey将只访问这些包中的Activity。指定多个包,使用多个-p,一个-p后面接一个包名。
注:常用参数
例:adb shell monkey -p com.Android.browser -v 10

2、–v 表示反馈日志信息级别:Monkey中日志分别有三种级别:精简(默认)、普通、详细,上面运行的结果就是默认的精简。

    语法格式是用 “-v” 来表示日志的级别:

      -v 代表 精简;-vv
或者 -v -v 代表 普通;-vvv 或 -v -v -v 代表 详细。

注:常用参数

3、--throttle <milliseconds>  用于指定用户操作(即事件)间的时延,单位是毫秒

例如:adb shell monkey -p com.Android.browser –throttle 1000 100    每次随机事件中间的间隔时间为1000毫秒,也就是1秒钟

注:常用参数

4、--pct-touch <percent> 调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置。

注意percent代表了这个事件占到所有随机事件的百分比数,多个参数指定的时候,加起来的百分比数不能多于100。剩下的几个参数同理:

--pct-motion <percent>     motion一般代表的是直线滑动,事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成;

--pct-trackball <percent>   轨迹事件由一个或几个随机的移动组成,有时还伴随有点击;

--pct-nav <percent>           早期Android手机上的up/down/left/right按键;

--pct-majornav <percent>  引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键;

--pct-syskeys <percent>     这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键;

--pct-appswitch <percent> 在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法;

--pct-anyevent <percent>   它包含了所有其它类型的事件,如:按键、其它不常用的设备按钮等等

例如:adb shell monkey -p com.tencent.mm --pct-touch
50 --pct-trackball 30 100
    执行100次的随机事件中,有50%的touch事件和30%的轨迹球事件,其他事件随机比例分布。

5、-s <seed>    用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

例如:adb shell monkey -p com.tencent.mm –s 10 100    

运行两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以说Monkey是伪随机的。

6、adb shell monkey --help  查看所有命令

调试用:

1、--ignore-crashes
作用:通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
注:常用。

2、--ignore-timeouts
作用:通常,应用程序发生任何超时错误(如“Application Not
responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
注:常用。

3、--ignore-security-exception 
作用:通常,当程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
注:常用。

8) 可以使用exit退出shell命令,也可以在shell里面运行monkey命令;

9) 以下是简短的操作事例:

想接什么参数可以自己添加

-p:后面接包名;

-V:日志级别;

50:随机点击的次数;

>:E/a.txt:表示将运行的日志放在电脑上的E盘里面的a.txt文件中

Monkey用真机做测试的步骤的更多相关文章

  1. IOS-Appium 自动化测试——环境配置及模拟器、真机跑测试

    在MAC环境下配置IOS的appium的自动化测试环境,主要包含三个部分: 一.环境配置 1.安装homebrew(homebrew可以提供MAC OS无法提供的很多套件) ruby -e " ...

  2. 【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始i ...

  3. appium通过WiFi连接真机进行测试

    http://www.th7.cn/Program/Android/201507/514602.shtml appium通过WiFi连接真机进行测试   2015-07-24 19:43:07CSDN ...

  4. ;~ 并发运行的AutoHotkey脚本真机实际测试模板参考20191010.ahk

    ;~ 并发运行的AutoHotkey脚本真机实际测试模板参考20191010.ahk;~ 2019年10月10日;~ 徐晓亮(aahk6188);~ 操作系统测试环境: Windows 7 专业版 3 ...

  5. appium使用真机做安卓移动端自动化测试

    1.PC往手机上安装apk文件:adb install apk文件完整路径 2.获取app包名和activity的命令:使用aapt;aapt是sdk自带的一个工具,在sdk\builds-tools ...

  6. iOS真机UI调试利器——Reveal

    做iOS的开发,UI是非常非常重要的一环.调试时我们一般用模拟器,提交前用真机做测试.用模拟器来调试UI效果虽然快捷方便,但有时仍然希望有更强大 的工具来帮助分析UI,尤其是专注在UI的效果调试时.最 ...

  7. ios真机调试详细步骤

    •真机调试的主要步骤 1.登录开发者主页 2.生成cer证书:cer是一个跟电脑相关联的证书文件,让电脑具备真机调试的功能 3.添加App ID:调试哪些app? 4.注册真机设备:哪台设备需要做真机 ...

  8. Android真机测试,连接到本地服务器的方法

    1. 前言 作为一名Android开发者,不管怎么说,都会经历使用Android真机来测试连接本地服务器这样的事情.这里所说的“本地服务器”大多数时候指的是:搭载有某种服务器软件的PC,例如搭载有To ...

  9. iOS 11开发教程(十)iOS11无线连接手机真机测试

    iOS 11开发教程(十)iOS11无线连接手机真机测试 在Xcode 9.0中,已经可以通过无线连接手机进行真机测试了.具体的操作步骤如下: (1)首先需要使用数据线将手机连接到苹果电脑上. (2) ...

随机推荐

  1. Visual Studio2015无法启动IIS Express Web 服务器的解决方案

    有时通过VS2015启动项目会弹出提示框:无法启动IIS Express Web服务器 出现这种提示框有可能是因为此项目的解决方案是从别人电脑中拷贝过来的,所以启动会出现错误. 解决办法就是删除解决方 ...

  2. Vue教程:过滤器filters(五)

    Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化.过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持).过滤器应该被添加在 JavaScrip ...

  3. Asset Catalogs

    原文见这里. Asset Catalogs用于简化管理程序内用到的图片.每个asset catalog可以包含image set, App Icon, Launch Image和OS X Icon(如 ...

  4. 微信小程序新版用户授权方式处理

    最新更新(2018-12-27): 最近做了改版,做成默认进来就是首页,然后去判断有没有用户信息,没有的话再去判断用没授权过,如果授权过直接自动去获取,没有的话再跳转到授权页面.因为用户授权主要就是针 ...

  5. 『C++』Temp_2018_12_06

    #include <iostream> #include <string> using namespace std; class Type{ public: string Na ...

  6. pt-online-schema-change在线修改表结构

    工具简介 pt-osc模仿MySQL内部的改表方式进行改表,但整个改表过程是通过对原始表的拷贝来完成的,即在改表过程中原始表不会被锁定,并不影响对该表的读写操作.首先,osc创建与原始表相同的不包含数 ...

  7. 阿里云Docker镜像仓库(Docker Registry)

    镜像仓库申请地址: https://cr.console.aliyun.com/cn-shanghai/instances/repositories   一.创建命名空间 例如daniel-hub   ...

  8. nginx php-fpm 高并发优化

    PHP-php-fpm配置优化 前言: 1.少安装PHP模块, 费内存 2.调高linux内核打开文件数量,可以使用这些命令(必须是root帐号)(我是修改/etc/rc.local,加入ulimit ...

  9. linux服务器项目部署【完整版】

    之前总玩v8虚拟机,最近看到腾讯云学生套餐很实惠就租了个linux服务器搭一个项目,做下这个项目部署全记录,即为了方便以后查看,同时也分享下自己的经验,不足之处还请多多指教,废话不多说,直接开始!!! ...

  10. avast:中兴手机预装恶意软件 嵌入固件底层

    著名安全机构 avast 发布报告称,旗下安全威胁实验室发现,中兴.爱可视.MyPhone 等厂商的多款安卓手机居然预装了恶意广告软件.该恶意软件被命名为“ Cosiloon ”,它会在用户使用浏览器 ...