软件测试之Monkey 初步了解(入门级II)
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)的更多相关文章
- 软件测试之Monkey 初步了解(入门级)
monkey 介绍 Monkey是Google提供的一个用于稳定性与压力测试的命令行工具.可以运行在模拟器或者实际设备中.它向系统发送伪随机的用户事件(如按键.手势.触摸屏等输入),对软件进行稳定性与 ...
- 软件测试之adb命令-实际公司使用场景--今日log
软件测试之adb命令-实际公司使用场景--今日log Dotest-董浩整理 1)可以看内存泄漏: 2)可以安装.卸载app--截图并提交bug: 3)可以通过抓app日志定位问题: 4)可以结合mo ...
- 2、Android自动测试之Monkey工具
Android自动测试之Monkey工具 APP测试工作中经常会听到领导说,APP压力测试做了吗?刚入行时,不知道什么是 APP压力测试,找了半天没找到自己想要的.过了几年,回头想这个问题,发现牵扯了 ...
- 《Google软件测试之道》基础
<Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...
- google软件测试之道--读后笔记
看完google软件测试之道,以前有认真看过一次,今天又重新看了一遍. 在google,测试人员严格区分为SET和TE.SET前期深度参与项目的开发,推动开发人员的自测,从破坏者的角度寻 ...
- 小课堂week14 Google软件测试之道
读<Google软件测试之道> 在IT领域,Google是一面旗帜,是一家非常善于思考善于尝试的公司.随着面临挑战的不断增大,传统的测试开展方式也越来越力不从心,这本书讲述的就是一次完整的 ...
- [转载]软件测试之Web测试经典总结
转载自:软件测试之Web测试经典总结 基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且, ...
- google软件测试之道读后感(一)
这几天在抽空读一本新书,久负盛名的<google软件测试之道>.之前在网络上一点一点地看过它的英文版,很受触动,还做了很长的读书笔记,现在看到了中文版,才恍觉之前的好些理解存在不恰当的地方 ...
- 《微软的软件测试之道》【PDF】下载
<微软的软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382291 内容简介 书的第三部分探讨某些我们工作中使用过的 ...
随机推荐
- 发现一个企业微信第三方应用开发的疑似BUG
1.企业微信两个账号A(超级管理员),账号B(分级管理员),账号B具有创建应用与小程序权限.2.账号B添加一个第三方应用后(创建后能看到第三方应用),使用下图接口登录时回调的agent一直为空,3.超 ...
- ZYNQ笔记(6):普通自定义IP封装实现PL精准定时中断
软件的定时中断很难控制精准触发沿的位置,可以通过 PL-PS 的中断完成精准的定时中断.PL 的中断通过 Verilog 代码产生,这样紧密结合 PS-PL 的处理,发挥各自的优势. 一.PL 侧定时 ...
- 【题解】Editor [HDU4699]
[题解]Editor [HDU4699] 传送: \(Editor\) \([HDU4699]\) [题目描述] 有一个维护整数序列的强大编辑器,初始状态为空,下面提供五种不同的操作,给出的总操作次数 ...
- 『LCA 树链剖分』
LCA Description 给出一个n个节点的有根树(编号为0到n-1,根节点为0).一个点的深度定义为这个节点到根 的距离+1. 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公 ...
- Java学习:数组的使用和注意事项
数组 数组的概念:是一种容器,可以同时存放多个数据值 数组的特点: 数组是一种引用数据类型 数组当中的多个数据,类型必须统一 数组的长度在程序运行期间不可以改变 数组的初始化:在内存当中创建一个数组, ...
- 《PHP7底层设计与源码实现》学习笔记2——结构体对齐
书里给了一段代码,假如有个结构体如下: struct test { char a; int b; long c; void* d; int e; cha ...
- 关于MVC与三层架构
详情 回答一: 当然啊,你要明白三层架构的MVC的区别和联系: 三层架构是最基本的项目分层结果,而MVC则是三层架构的一个变体,MVC是一种好的开发模式.首先你要明白MVC分别代表的是什么意思. M ...
- 【转】socket通信-C#实现udp通讯
在日常碰到的项目中,有些场景下不适合使用tcp常连接,而需要靠UDP无连接的数据收发.那么如何使用SharpSocket完成UDP收发数据呢?其中要掌握的关键点是什么呢? 点击查看原博文内容
- Eclipse集成Git做团队开发
在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...
- Jmeter的安装与配置。
1.本机配置好JAVA环境. 2.官网下载压缩包,在任意目录下解压. 3.修改配置文件 ,打开Jmeter的bin目录下jmeter.porperties,修改 language=zh_CN samp ...