博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试之Monkey 初步了解(入门级II)
阅读量:5920 次
发布时间:2019-06-19

本文共 3260 字,大约阅读时间需要 10 分钟。

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 结束日志抓取

 

转载于:https://www.cnblogs.com/lanmosonny/p/9168325.html

你可能感兴趣的文章
Java Swing界面编程(27)---JRadioButton事件处理
查看>>
iOS 加密的3种方法
查看>>
Hbase分布式安装部署过程
查看>>
Change Fragment layout on orientation change
查看>>
C++中public、protected及private使用方法
查看>>
Android复习笔记--Activity
查看>>
C++ Dll 编写入门
查看>>
[CareerCup] 18.10 Word Transform 单词转换
查看>>
Java tomcat启动失败(Servlet3.0 Web Project):A child container failed during start
查看>>
python-目录
查看>>
strace
查看>>
SQL Server之字符串函数
查看>>
0day漏洞是什么意思啊?
查看>>
Linux驱动platform
查看>>
Docker部署SDN环境
查看>>
XCode7,打包上传的一些警告,及参考处理方法
查看>>
Odoo中本日、本月、上月过滤器实现方法
查看>>
Python3字典中items()和python2.x中iteritems()有什么区别
查看>>
Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(二)
查看>>
框架升级后某个类型所在程序集发生转移,应用还能正常运行吗?
查看>>