一、monkey是什麼
1、monkey程序由android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
2、Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中的存放路徑是:/system/bin/monkey
3、monkey測試是一種為了軟件測試的穩定性,健壯性的快速有效的方法。
二、monkey測試原理
monkey是android中的一個命令行工具,可以運行在模擬器裡或實際設備中,它通過模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,用隨機重複的方法將他們發送給android系統,來實現對開發的應用程序的壓力測試。
三、monkey測試準備
1、使用數據線將Android手機與電腦連接起來
2、打開手機“開發者選項”
a) 在手機“設置”中,找到“Android版本” 或者 “內核版本”或者“MIUI版本”,連續快速的點擊7次即可打開“開發者選項”
3、在手機“開發者選項”中,打開手機的“USB調試”;
如果有“USB安全設置”的選項,則也打開。
4、驗證手機和電腦是否連接成功
a) Win+R——輸入cmd,彈出命令行窗口
b) 在命令行窗口中,輸入adb devices,出現下圖情況,表示連接成功
一、monkey是什麼
1、monkey程序由android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
2、Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中的存放路徑是:/system/bin/monkey
3、monkey測試是一種為了軟件測試的穩定性,健壯性的快速有效的方法。
二、monkey測試原理
monkey是android中的一個命令行工具,可以運行在模擬器裡或實際設備中,它通過模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,用隨機重複的方法將他們發送給android系統,來實現對開發的應用程序的壓力測試。
三、monkey測試準備
1、使用數據線將Android手機與電腦連接起來
2、打開手機“開發者選項”
a) 在手機“設置”中,找到“Android版本” 或者 “內核版本”或者“MIUI版本”,連續快速的點擊7次即可打開“開發者選項”
3、在手機“開發者選項”中,打開手機的“USB調試”;
如果有“USB安全設置”的選項,則也打開。
4、驗證手機和電腦是否連接成功
a) Win+R——輸入cmd,彈出命令行窗口
b) 在命令行窗口中,輸入adb devices,出現下圖情況,表示連接成功
5、獲取要測試的app的包名:
a) 方法一:adb shell pm list package(查看手機上所有的安裝包)
b) 方法二:adb shell pm list package -3 (查看手機上安裝的第三方安裝包)
一、monkey是什麼
1、monkey程序由android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
2、Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中的存放路徑是:/system/bin/monkey
3、monkey測試是一種為了軟件測試的穩定性,健壯性的快速有效的方法。
二、monkey測試原理
monkey是android中的一個命令行工具,可以運行在模擬器裡或實際設備中,它通過模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,用隨機重複的方法將他們發送給android系統,來實現對開發的應用程序的壓力測試。
三、monkey測試準備
1、使用數據線將Android手機與電腦連接起來
2、打開手機“開發者選項”
a) 在手機“設置”中,找到“Android版本” 或者 “內核版本”或者“MIUI版本”,連續快速的點擊7次即可打開“開發者選項”
3、在手機“開發者選項”中,打開手機的“USB調試”;
如果有“USB安全設置”的選項,則也打開。
4、驗證手機和電腦是否連接成功
a) Win+R——輸入cmd,彈出命令行窗口
b) 在命令行窗口中,輸入adb devices,出現下圖情況,表示連接成功
5、獲取要測試的app的包名:
a) 方法一:adb shell pm list package(查看手機上所有的安裝包)
b) 方法二:adb shell pm list package -3 (查看手機上安裝的第三方安裝包)
四、monkey命令
1.monkey命令語法
a) monkey命令:adb shell monkey {+命令參數}
b) 注意:
- 所有的參數都需要放在monkey和設置的次數之間;
- 參數的順序可以調整
- 若帶了-p ,-p必須放在monkey之後,參數必須在-p和次數之間
2.monkey基礎命令
adb shell monkey -p 包名 -v -s seed值 壓測次數
1.1.參數-p
此命令用於指定要測試的包,若不指定則在整個系統中執行
a) 指定一個包執行10次:adb shell monkey -p 包名 10
如下出現事件執行次數和所耗時間,則算是執行成功;
一、monkey是什麼
1、monkey程序由android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
2、Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中的存放路徑是:/system/bin/monkey
3、monkey測試是一種為了軟件測試的穩定性,健壯性的快速有效的方法。
二、monkey測試原理
monkey是android中的一個命令行工具,可以運行在模擬器裡或實際設備中,它通過模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,用隨機重複的方法將他們發送給android系統,來實現對開發的應用程序的壓力測試。
三、monkey測試準備
1、使用數據線將Android手機與電腦連接起來
2、打開手機“開發者選項”
a) 在手機“設置”中,找到“Android版本” 或者 “內核版本”或者“MIUI版本”,連續快速的點擊7次即可打開“開發者選項”
3、在手機“開發者選項”中,打開手機的“USB調試”;
如果有“USB安全設置”的選項,則也打開。
4、驗證手機和電腦是否連接成功
a) Win+R——輸入cmd,彈出命令行窗口
b) 在命令行窗口中,輸入adb devices,出現下圖情況,表示連接成功
5、獲取要測試的app的包名:
a) 方法一:adb shell pm list package(查看手機上所有的安裝包)
b) 方法二:adb shell pm list package -3 (查看手機上安裝的第三方安裝包)
四、monkey命令
1.monkey命令語法
a) monkey命令:adb shell monkey {+命令參數}
b) 注意:
- 所有的參數都需要放在monkey和設置的次數之間;
- 參數的順序可以調整
- 若帶了-p ,-p必須放在monkey之後,參數必須在-p和次數之間
2.monkey基礎命令
adb shell monkey -p 包名 -v -s seed值 壓測次數
1.1.參數-p
此命令用於指定要測試的包,若不指定則在整個系統中執行
a) 指定一個包執行10次:adb shell monkey -p 包名 10
如下出現事件執行次數和所耗時間,則算是執行成功;
b) 指定多個包執行10次:adb shell monkey -p 包名 –p 包名 10
一、monkey是什麼
1、monkey程序由android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
2、Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中的存放路徑是:/system/bin/monkey
3、monkey測試是一種為了軟件測試的穩定性,健壯性的快速有效的方法。
二、monkey測試原理
monkey是android中的一個命令行工具,可以運行在模擬器裡或實際設備中,它通過模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,用隨機重複的方法將他們發送給android系統,來實現對開發的應用程序的壓力測試。
三、monkey測試準備
1、使用數據線將Android手機與電腦連接起來
2、打開手機“開發者選項”
a) 在手機“設置”中,找到“Android版本” 或者 “內核版本”或者“MIUI版本”,連續快速的點擊7次即可打開“開發者選項”
3、在手機“開發者選項”中,打開手機的“USB調試”;
如果有“USB安全設置”的選項,則也打開。
4、驗證手機和電腦是否連接成功
a) Win+R——輸入cmd,彈出命令行窗口
b) 在命令行窗口中,輸入adb devices,出現下圖情況,表示連接成功
5、獲取要測試的app的包名:
a) 方法一:adb shell pm list package(查看手機上所有的安裝包)
b) 方法二:adb shell pm list package -3 (查看手機上安裝的第三方安裝包)
四、monkey命令
1.monkey命令語法
a) monkey命令:adb shell monkey {+命令參數}
b) 注意:
- 所有的參數都需要放在monkey和設置的次數之間;
- 參數的順序可以調整
- 若帶了-p ,-p必須放在monkey之後,參數必須在-p和次數之間
2.monkey基礎命令
adb shell monkey -p 包名 -v -s seed值 壓測次數
1.1.參數-p
此命令用於指定要測試的包,若不指定則在整個系統中執行
a) 指定一個包執行10次:adb shell monkey -p 包名 10
如下出現事件執行次數和所耗時間,則算是執行成功;
b) 指定多個包執行10次:adb shell monkey -p 包名 –p 包名 10
1.2.參數 -v
用於指定反饋日誌的詳細程度級別(共3個級別)
1.Level 0: adb shell monkey -p 包名 -v 10
默認級別,僅提供啟動、測試完成和最終結果等少量信息
2.Level 1: adb shell monkey -p 包名 -v -v 10
提供較為詳細的日誌,包括每個發送到Activity的事件信息
3. Level 2: adb shell monkey -p 包名 -v -v -v 10
提供最詳細的日誌,包括了測試中選中/未選中的Activity信息
參數 -v 的執行結果如下:
一、monkey是什麼
1、monkey程序由android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
2、Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中的存放路徑是:/system/bin/monkey
3、monkey測試是一種為了軟件測試的穩定性,健壯性的快速有效的方法。
二、monkey測試原理
monkey是android中的一個命令行工具,可以運行在模擬器裡或實際設備中,它通過模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,用隨機重複的方法將他們發送給android系統,來實現對開發的應用程序的壓力測試。
三、monkey測試準備
1、使用數據線將Android手機與電腦連接起來
2、打開手機“開發者選項”
a) 在手機“設置”中,找到“Android版本” 或者 “內核版本”或者“MIUI版本”,連續快速的點擊7次即可打開“開發者選項”
3、在手機“開發者選項”中,打開手機的“USB調試”;
如果有“USB安全設置”的選項,則也打開。
4、驗證手機和電腦是否連接成功
a) Win+R——輸入cmd,彈出命令行窗口
b) 在命令行窗口中,輸入adb devices,出現下圖情況,表示連接成功
5、獲取要測試的app的包名:
a) 方法一:adb shell pm list package(查看手機上所有的安裝包)
b) 方法二:adb shell pm list package -3 (查看手機上安裝的第三方安裝包)
四、monkey命令
1.monkey命令語法
a) monkey命令:adb shell monkey {+命令參數}
b) 注意:
- 所有的參數都需要放在monkey和設置的次數之間;
- 參數的順序可以調整
- 若帶了-p ,-p必須放在monkey之後,參數必須在-p和次數之間
2.monkey基礎命令
adb shell monkey -p 包名 -v -s seed值 壓測次數
1.1.參數-p
此命令用於指定要測試的包,若不指定則在整個系統中執行
a) 指定一個包執行10次:adb shell monkey -p 包名 10
如下出現事件執行次數和所耗時間,則算是執行成功;
b) 指定多個包執行10次:adb shell monkey -p 包名 –p 包名 10
1.2.參數 -v
用於指定反饋日誌的詳細程度級別(共3個級別)
1.Level 0: adb shell monkey -p 包名 -v 10
默認級別,僅提供啟動、測試完成和最終結果等少量信息
2.Level 1: adb shell monkey -p 包名 -v -v 10
提供較為詳細的日誌,包括每個發送到Activity的事件信息
3. Level 2: adb shell monkey -p 包名 -v -v -v 10
提供最詳細的日誌,包括了測試中選中/未選中的Activity信息
參數 -v 的執行結果如下:
1.3.參數 -s
-s ,用於指定偽隨機數生成器的seed值
命令:adb shell monkey -p 包名 –s seed值 執行次數
作用:如果seed值相同,則兩次Monkey測試所產生的事件序列也相同的。
示例:
測試1:adb shell monkey -p com.qq –s 15888 100
測試2:adb shell monkey -p com.qq –s 15888 100
說明:
▲兩次測試的效果是相同的,因為模擬的用戶操作序列(每次操作按照一定的先後順序所組成的一系列操作,即一個序列)是一樣的。(也就是說,重複執行上次的隨機操作)
▲操作序列雖然是隨機生成的,但是隻要我們指定了相同的Seed值,就可以保證兩次測試產生的隨機操作序列是完全相同的,所以這個操作序列偽隨機的;
五、日誌分析
1. 查找出差步驟:
a)找到monkey裡哪個地方出錯
查看Monkey執行的是哪一個Activity,在switch後面找,兩個swtich之間如果出現了崩潰或其他異常,可以在該Activity中查找問題的所在。
一、monkey是什麼
1、monkey程序由android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
2、Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中的存放路徑是:/system/bin/monkey
3、monkey測試是一種為了軟件測試的穩定性,健壯性的快速有效的方法。
二、monkey測試原理
monkey是android中的一個命令行工具,可以運行在模擬器裡或實際設備中,它通過模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,用隨機重複的方法將他們發送給android系統,來實現對開發的應用程序的壓力測試。
三、monkey測試準備
1、使用數據線將Android手機與電腦連接起來
2、打開手機“開發者選項”
a) 在手機“設置”中,找到“Android版本” 或者 “內核版本”或者“MIUI版本”,連續快速的點擊7次即可打開“開發者選項”
3、在手機“開發者選項”中,打開手機的“USB調試”;
如果有“USB安全設置”的選項,則也打開。
4、驗證手機和電腦是否連接成功
a) Win+R——輸入cmd,彈出命令行窗口
b) 在命令行窗口中,輸入adb devices,出現下圖情況,表示連接成功
5、獲取要測試的app的包名:
a) 方法一:adb shell pm list package(查看手機上所有的安裝包)
b) 方法二:adb shell pm list package -3 (查看手機上安裝的第三方安裝包)
四、monkey命令
1.monkey命令語法
a) monkey命令:adb shell monkey {+命令參數}
b) 注意:
- 所有的參數都需要放在monkey和設置的次數之間;
- 參數的順序可以調整
- 若帶了-p ,-p必須放在monkey之後,參數必須在-p和次數之間
2.monkey基礎命令
adb shell monkey -p 包名 -v -s seed值 壓測次數
1.1.參數-p
此命令用於指定要測試的包,若不指定則在整個系統中執行
a) 指定一個包執行10次:adb shell monkey -p 包名 10
如下出現事件執行次數和所耗時間,則算是執行成功;
b) 指定多個包執行10次:adb shell monkey -p 包名 –p 包名 10
1.2.參數 -v
用於指定反饋日誌的詳細程度級別(共3個級別)
1.Level 0: adb shell monkey -p 包名 -v 10
默認級別,僅提供啟動、測試完成和最終結果等少量信息
2.Level 1: adb shell monkey -p 包名 -v -v 10
提供較為詳細的日誌,包括每個發送到Activity的事件信息
3. Level 2: adb shell monkey -p 包名 -v -v -v 10
提供最詳細的日誌,包括了測試中選中/未選中的Activity信息
參數 -v 的執行結果如下:
1.3.參數 -s
-s ,用於指定偽隨機數生成器的seed值
命令:adb shell monkey -p 包名 –s seed值 執行次數
作用:如果seed值相同,則兩次Monkey測試所產生的事件序列也相同的。
示例:
測試1:adb shell monkey -p com.qq –s 15888 100
測試2:adb shell monkey -p com.qq –s 15888 100
說明:
▲兩次測試的效果是相同的,因為模擬的用戶操作序列(每次操作按照一定的先後順序所組成的一系列操作,即一個序列)是一樣的。(也就是說,重複執行上次的隨機操作)
▲操作序列雖然是隨機生成的,但是隻要我們指定了相同的Seed值,就可以保證兩次測試產生的隨機操作序列是完全相同的,所以這個操作序列偽隨機的;
五、日誌分析
1. 查找出差步驟:
a)找到monkey裡哪個地方出錯
查看Monkey執行的是哪一個Activity,在switch後面找,兩個swtich之間如果出現了崩潰或其他異常,可以在該Activity中查找問題的所在。
b)查看Monkey裡面出錯前的一些事件動作,手動執行該動作
▲ Sleeping for XX milliseconds這是執行Monkey測試時,throttle設定的間隔時間,每出現一次,就代表一個事件
▲ Sending XX 就是代表一個操作,如下圖的兩個操作 應該就是一個點擊事件。
一、monkey是什麼
1、monkey程序由android系統自帶,使用Java語言寫成,在Android文件系統中的存放路徑是:/system/framework/monkey.jar
2、Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執行,shell腳本在Android文件系統中的存放路徑是:/system/bin/monkey
3、monkey測試是一種為了軟件測試的穩定性,健壯性的快速有效的方法。
二、monkey測試原理
monkey是android中的一個命令行工具,可以運行在模擬器裡或實際設備中,它通過模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,用隨機重複的方法將他們發送給android系統,來實現對開發的應用程序的壓力測試。
三、monkey測試準備
1、使用數據線將Android手機與電腦連接起來
2、打開手機“開發者選項”
a) 在手機“設置”中,找到“Android版本” 或者 “內核版本”或者“MIUI版本”,連續快速的點擊7次即可打開“開發者選項”
3、在手機“開發者選項”中,打開手機的“USB調試”;
如果有“USB安全設置”的選項,則也打開。
4、驗證手機和電腦是否連接成功
a) Win+R——輸入cmd,彈出命令行窗口
b) 在命令行窗口中,輸入adb devices,出現下圖情況,表示連接成功
5、獲取要測試的app的包名:
a) 方法一:adb shell pm list package(查看手機上所有的安裝包)
b) 方法二:adb shell pm list package -3 (查看手機上安裝的第三方安裝包)
四、monkey命令
1.monkey命令語法
a) monkey命令:adb shell monkey {+命令參數}
b) 注意:
- 所有的參數都需要放在monkey和設置的次數之間;
- 參數的順序可以調整
- 若帶了-p ,-p必須放在monkey之後,參數必須在-p和次數之間
2.monkey基礎命令
adb shell monkey -p 包名 -v -s seed值 壓測次數
1.1.參數-p
此命令用於指定要測試的包,若不指定則在整個系統中執行
a) 指定一個包執行10次:adb shell monkey -p 包名 10
如下出現事件執行次數和所耗時間,則算是執行成功;
b) 指定多個包執行10次:adb shell monkey -p 包名 –p 包名 10
1.2.參數 -v
用於指定反饋日誌的詳細程度級別(共3個級別)
1.Level 0: adb shell monkey -p 包名 -v 10
默認級別,僅提供啟動、測試完成和最終結果等少量信息
2.Level 1: adb shell monkey -p 包名 -v -v 10
提供較為詳細的日誌,包括每個發送到Activity的事件信息
3. Level 2: adb shell monkey -p 包名 -v -v -v 10
提供最詳細的日誌,包括了測試中選中/未選中的Activity信息
參數 -v 的執行結果如下:
1.3.參數 -s
-s ,用於指定偽隨機數生成器的seed值
命令:adb shell monkey -p 包名 –s seed值 執行次數
作用:如果seed值相同,則兩次Monkey測試所產生的事件序列也相同的。
示例:
測試1:adb shell monkey -p com.qq –s 15888 100
測試2:adb shell monkey -p com.qq –s 15888 100
說明:
▲兩次測試的效果是相同的,因為模擬的用戶操作序列(每次操作按照一定的先後順序所組成的一系列操作,即一個序列)是一樣的。(也就是說,重複執行上次的隨機操作)
▲操作序列雖然是隨機生成的,但是隻要我們指定了相同的Seed值,就可以保證兩次測試產生的隨機操作序列是完全相同的,所以這個操作序列偽隨機的;
五、日誌分析
1. 查找出差步驟:
a)找到monkey裡哪個地方出錯
查看Monkey執行的是哪一個Activity,在switch後面找,兩個swtich之間如果出現了崩潰或其他異常,可以在該Activity中查找問題的所在。
b)查看Monkey裡面出錯前的一些事件動作,手動執行該動作
▲ Sleeping for XX milliseconds這是執行Monkey測試時,throttle設定的間隔時間,每出現一次,就代表一個事件
▲ Sending XX 就是代表一個操作,如下圖的兩個操作 應該就是一個點擊事件。
c)若以上步驟還不能找出,則可以使用之前一樣的seed,再執行monkey命令一遍,便於復現
2.測試結果分析:
▲程序無響應,ANR問題:在日誌中搜索“ANR”
▲崩潰問題:在日誌中搜索“CRASH”
▲其他問題:在日誌中搜索”Exception”