軟件測試之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 結束日志抓取

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM