1. 先熟悉monkey基本命令
 cls   清除

首先测试设备是否连接成功,在命令行中输入:adb devices

查看adb版本: adb version

查看虚拟机版本:nox_adb version

安装apk: adb install test.apk

卸载apk:adb uninstall test.apk

尽量保持两个版本一致

如果使用模拟器,如夜神模拟器,则需要手工连接才可以看到模拟器

C:\Users\Administrator>adb connect 127.0.0.1:62001

connected to 127.0.0.1:62001

C:\Users\Administrator>adb devices

List of devices attached

127.0.0.1:62001 device

2.查看设备里面的文件目录和文件

1. 运行adb shell

2. ls

3.Monkey入门之如何在android虚拟机中安装apk包

如果想把公司的产品apk包安装到android虚拟机中,应该进行如下操作:

1、首先将apk包放到C:\Program Files\Android\android-sdk\platform-tools路径下(即SDK的platform-tools下);

2、win+R打开运行,执行cmd,在cd C:\Program Files\Android\android-sdk\platform-tools

  注:为什么到C:\Program Files\Android\android-sdk\platform-tools下呢,因为我的adb.exe在这个下面,我要使用adb命令;

3、执行adb install test.apk,安装apk包,此时在虚拟机上就添加好了apk包,就可以进行测试了。

安装成功如上图所示。

adb uninstall test.apk  卸载apk

4.复制电脑中的apk到手机端sdcard目录下

1):window+R 输入cmd进入命令窗口

2):输入adb push D:/android-sdk-windows/test/ceshi.apk mnt/sdcard/test.apk(意思是将D:/android-sdk-windows/test/ceshi.apk目录下的ceshi.apk复制到mnt/sdcard/目录下,并重新命名为test.apk  )

查看是否复制成功:

1):输入adb shell

2):ls

3): cd mnt/sdcard/

4)ls

5.从手机端复制文件至电脑端指定的文件夹

1):window+R 输入cmd进入命令窗口

2):输入adb pull mnt/sdcard/test.apk D:/android-sdk-windows/test1/QQ.apk(意思是将mnt/sdcard/test.apk目录下的test.apk复制到D:/android-sdk-windows/test1/QQ.apk目录下,并重新命名为QQ.apk  )

查看是否复制成功:可直接进入目录查看文件是否存在

6.删除指定目录的文件

语法:rm test.apk

我们删除手机端之前复制过来的test.apk文件

1):输入adb shell

2): 使用cd 切换到指定目录

7. 删除指定目录的文件夹

rmdir xxx //删除xxx的文件夹

8.模拟100个随机用户模拟操作

adb shell Monkey –p 包名 –v 100

9.获取手机上的所有包名信息。

(1)       adb shell pm list packages

10. 获取手机上包含xxx信息的包名

adb shell pm list packages |findstr XXX

在不知道包名的前提下获取包名

(1)       先打开需要查找的APK后,敲入一下命令

①     Adb shell dumpsys window w | findstr name=

11. 对获取到的包名执行随机点击事件

adb shell monkey -p com.android.bbkcalculator 3000 >e:\123.txt (先在E盘创建个123.txt文件,本句话的意思是:当对此com.android.bbkcalculator包执行操作3000次时,将日志记录到指定的E盘123.txt文件中)

monkey设定参数 

   首先用一个最简单的例子分析

   adb shell monkey -p com.android.bbkcalculator -v -v -v 100

   -p参数:表示指定测试的程序

   -v参数:表示查看Monkey生成的一些详细的随机的事件名 数字100:表示测试事件数为100

12. 查看进程列表。

adb shell ps
adb shell ps | findstr gallery3d  (根据名称查找进程)

13. 根据包名杀死进程的命令。(此命令只是将程序停止工作)

adb shell am force-stop 【包名】

注意:这种方法会强制停止APP进程,不会清除APP进程在系统中产生的数据

14. 杀死后台进程的命令

(1)      adb shell pm clear 【包名】

(2)      
执行完成以后打开手机确定一下

注意:区别于上面杀死进程的命令,这个会将后台程序杀死。

15. 执行的命令中间加时间间隔。

(1)      
执行的命令语句为 --throttle <毫秒数>

(2)      
实例:

①    
Adb shell monkey -p com.android.bbkcalculator --throttle 1000 1000

②    
注意:前面一个1000是毫秒数,后面一个1000是执行次数。

③    
加上时间限制以后执行的过程会非常的缓慢,可查看执行结果的毫秒数来验证

16. 如何复现在monkey测试时,产生的错误。(可以在做压力测试之前定义一个seed值,以便复现在测试过程中出现的BUG)

(1)      
这里需要的是seed参数,指定随机生成数的seed值
: -s <seed>

(2)      
《seed》
这里面填写具体的值

(3)      
因为monkey是随机操作的,是用此命令可完全复现上一次的操作过程,以及结果

(4)      
实例:adb shell monkey -p  com.android.bbkcalculator -s 50 100

注意:-s 50 指的是定义的seed值,当再次执行次命令可恢复行一次的执行过程和结果

17. Monkey之触摸事件(也叫点击事件,不包括滑屏等操作,只执行点击事件的操作)

(1)      
执行命令: --pct-touch <percent>  。

(2)      
《percent》
填写为百分比。

(3)      
实例:adb shell monkey -p com.android.bbkcalculator
--pct-touch 100 10

①    
解读:点击事件完成100% ,完成次数为10次

②    
此命令无法查看执行的详细情况,需要参数:-v

③    
adb shell monkey -v -p com.android.bbkcalculator --pct-touch 100 10

④    
疑问:为什么日志只有9个而不是10个?

不加-V 的执行结果:

加-V的执行结果:

 18. logcat命令

1).adb logcat -c 清楚旧日志信息

2).adb logcat -v time 开始抓取日志
3).  adb logcat -v time>test.txt 将日志输出到指定的文件夹
4).  ctrl + c 结束日志抓取

软件测试之Monkey 初步了解(入门级II)的更多相关文章

  1. 软件测试之Monkey 初步了解(入门级)

    monkey 介绍 Monkey是Google提供的一个用于稳定性与压力测试的命令行工具.可以运行在模拟器或者实际设备中.它向系统发送伪随机的用户事件(如按键.手势.触摸屏等输入),对软件进行稳定性与 ...

  2. 软件测试之adb命令-实际公司使用场景--今日log

    软件测试之adb命令-实际公司使用场景--今日log Dotest-董浩整理 1)可以看内存泄漏: 2)可以安装.卸载app--截图并提交bug: 3)可以通过抓app日志定位问题: 4)可以结合mo ...

  3. 2、Android自动测试之Monkey工具

    Android自动测试之Monkey工具 APP测试工作中经常会听到领导说,APP压力测试做了吗?刚入行时,不知道什么是 APP压力测试,找了半天没找到自己想要的.过了几年,回头想这个问题,发现牵扯了 ...

  4. 《Google软件测试之道》基础

    <Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...

  5. google软件测试之道--读后笔记

         看完google软件测试之道,以前有认真看过一次,今天又重新看了一遍.   在google,测试人员严格区分为SET和TE.SET前期深度参与项目的开发,推动开发人员的自测,从破坏者的角度寻 ...

  6. 小课堂week14 Google软件测试之道

    读<Google软件测试之道> 在IT领域,Google是一面旗帜,是一家非常善于思考善于尝试的公司.随着面临挑战的不断增大,传统的测试开展方式也越来越力不从心,这本书讲述的就是一次完整的 ...

  7. [转载]软件测试之Web测试经典总结

    转载自:软件测试之Web测试经典总结 基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且, ...

  8. google软件测试之道读后感(一)

    这几天在抽空读一本新书,久负盛名的<google软件测试之道>.之前在网络上一点一点地看过它的英文版,很受触动,还做了很长的读书笔记,现在看到了中文版,才恍觉之前的好些理解存在不恰当的地方 ...

  9. 《微软的软件测试之道》【PDF】下载

    <微软的软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382291 内容简介 书的第三部分探讨某些我们工作中使用过的 ...

随机推荐

  1. [转帖]分布式一致性协议介绍(Paxos、Raft)

    分布式一致性协议介绍(Paxos.Raft) https://www.cnblogs.com/hugb/p/8955505.html  两阶段提交 Two-phase Commit(2PC):保证一个 ...

  2. 【C语言学习笔记】指针

    用来存放一个变量地址的变量就叫指针变量.指针变量也是有类型约束的,一般什么类型的指针指向什么类型的变量. 指针之所以叫变量,是因为它里面所存放的变量的地址也是不断变化的,指针是可以移动的. 定义格式: ...

  3. [终极巨坑]golang+vue开发日记【一】,环境搭建篇

    写在前面 这个golang+vue大部分的内容是基于bydmm(橙卡)大佬的视频学来的,我在这里只是做一下个人开发的笔记,就是图一个乐,毕竟我只是个应届毕业生,如果真的要学请:bydmm的b站空间. ...

  4. Akka-CQRS(7)- CQRS Reader Actor 示范

    我们在这篇通过一个具体CQRS-Reader-Actor的例子来示范akka-persistence的query端编程和应用.在前面的博客里我们设计了一个CQRS模式POS机程序的操作动作录入过程,并 ...

  5. 百度前端技术学院task15源代码

    这一道题涉及到排序,读取页面内容,输出显示到某一节点当中以及添加事件. 刚开始一直在想怎么获取某一节点的内容,后面采用的是sdata.childNodes,获取所有的节点.再通过schildNode[ ...

  6. vue-cli中跨域问题解决方法

    webpack提供了配置代理的方法解决跨域 1 在vue-cli项目中打开webpack.dev.cof.js,如下 2 打开conifg目录下的index.js,在 proxyTable中进行配置 ...

  7. .Net Core 获取应用物理路径的常见问题

    如果要得到传统的ASP.Net应用程序中的相对路径或虚拟路径对应的服务器物理路径,只需要使用使用Server.MapPath()方法来取得Asp.Net根目录的物理路径. 但是在Asp.Net Cor ...

  8. c# mvc使用富文本编辑器数据上传回显问题,图片,附件上传解决方案

    1.首先去官网下载编辑器:http://ueditor.baidu.com/website/download.html   我用的是asp.net  mvc开发模式所以选的是asp 2.前端页面必须引 ...

  9. python --- Socketserver N部曲(1)

    曲一 socketserver 是为了简化服务器端开发而产生的,是一个高级的标准库.(背景介绍完毕,开始干) 一些概念 来自源码的一张图片,简洁又FengSao +------------+ | Ba ...

  10. POST请求转换为PUT或者Delete请求、处理post请求乱码的过滤器、Get请求乱码

    在web.xml中配置 <!--配置HiddenHttpMethodFilter : 将所有的POST请求转换为PUT或者Delete请求 --><filter> <fi ...