一、功能介紹
????????wukong是系統自帶的一種命令行工具,支持Ability的隨機事件注入、控件注入、異常捕獲、報告生成和對Ability數據遍歷截圖等特性。通過模擬用戶行為,對系統或應用進行穩定性壓力測試。wukong分為隨機測試、專項測試和專注測試。
????????隨機測試是指隨機測試界面內容,支持的能力包括:shell啟動、拉起整機應用、多種注入方式、設置隨機種子、打印運行日志和生成報告。
????????專項測試主要提供對指定應用控件進行測試,支持的能力包括:shell啟動、順序遍歷及截圖、測試休眠睡醒、錄制回放、打印運行日志和生成報告。
????????專注測試主要提供對指定控件的注入測試,支持的能力包括:shell啟動、拉起整機應用、多種注入方式、設置隨機種子、設置專注控件類型、設置注入控件次數、打印運行日志和生成報告。
二、功能特性及命令說明?
前提約束:?
????????鴻蒙終端設備需已連接到PC端,支持單個和多個設備。
? ????????所有命令行執行前需要先進入shell模式
2.1?命令說明
命令 | 說明 |
---|---|
version | 獲取wukong版本信息。 |
help | 獲取wukong幫助信息。 |
appinfo | 查詢支持拉起應用bundleName和對應的mainAbility名。 |
special | wukong專項測試。 |
exec | wukong隨機測試。 |
focus | wukong專注測試。 |
2.2 進入shell模式? ? ?
?若為單設備,則直接輸入如下命令進入shell模式
? ?若為多設備,則需先獲取sn號,先輸入hdc list targets獲取sn號,然后進入shell模式
2.3 獲取應用的bundle name和ability name
2.4 查看幫助命令
三、隨機測試
3.1 命令參數
命令 | 功能 | 必選 | 說明 |
---|---|---|---|
-c,--count | 設置執行次數,與測試總時間-T沖突。二者取其一。 | 否 | 單位次數,默認10次。 |
-i,--interval | 設置執行間隔。 | 否 | 單位ms,默認1500ms。 |
-s,--seed | 設置隨機種子。 | 否 | 配置相同隨機種子,會生成相同隨機事件序列。 |
-b,--bundle[bundlename,……,bundlename] | 設置本次測試的允許應用名單,與-p沖突。 | 否 | 默認測試當前設備所有應用(應用名稱用英文逗號隔開)。 |
-p,--prohibit[bundlename,……,bundlename] | 設置本次測試的禁止應用名單,與-b沖突。 | 否 | 默認不禁止任何應用(應用名稱用英文逗號隔開)。 |
-d,--page[page,……,page] | 設置本次測試的禁止頁面名單。 | 否 | 系統默認禁止pages/system頁面(頁面名稱用逗號隔開)。 |
-a,--appswitch | 設置應用隨機拉起測試比例。 | 否 | 默認10%。 |
-t,--touch | 設置屏幕隨機觸摸測試比例。 | 否 | 默認10%。 |
-S,--swap | 設置屏幕隨機移動測試比例。 | 否 | 默認3%。 |
-m,--mouse | 設置屏幕隨機鼠標測試比例。 | 否 | 默認1%。 |
-k,--keyboard | 設置屏幕隨機鍵盤操作測試比例。 | 否 | 默認2%。 |
-H,--hardkey | 設置隨機物理按鍵測試比例。 | 否 | 默認2%。 |
-r,--rotate | 設置隨機屏幕旋轉測試比例。 | 否 | 默認2%。 |
-C, --component | 設置隨機控件測試比例。 | 否 | 默認70%。 |
-I, --screenshot | 控件測試截圖。 | 否 | - |
-T,--time | 設置測試總時間,與設置執行次數-c沖突。二者取其一。 | 否 | 單位分鐘,默認10分鐘。 |
-e, --allow ability | 設置允許測試的ability。 | 否 | - |
-E, --block ability | 設置禁止測試的ability。 | 否 | - |
-Y, --blockCompId | 設置不進行注入的CompId。 | 否 | - |
-y, --blockCompType | 設置不進行注入的CompType。 | 否 | - |
-B, --checkBWScreen | 設置啟用黑白屏檢測。 | 否 | - |
-U, -uri | 設置應用拉起頁面uri。 | 否 | - |
-x, -uriType | 設置應用拉起頁面uriType。 | 否 | - |
3.2 示例
3.2.1 指定應用測試
命令:wukong exec -b bundlename
3.2.2?設置允許測試和禁止測試的ability
命令:wukong exec -b bundlename -e bundlename.allowability -E bundlename.blockability
? ? 注:若配置-e、-E則須配置-b來指定應用
四、專項測試
4.1 命令參數說明
命令 | 功能 | 必選 | 說明 |
---|---|---|---|
-k, --spec_insomnia | 休眠喚醒專項測試。 | 否 | - |
-c, --count | 設置執行次數。 | 否 | 單位次數,默認10次。 |
-i, --interval | 設置執行間隔。 | 否 | 單位ms,默認1500ms。 |
-S, --swap | 滑動測試。 | 否 | - |
-s, --start[x,y] | 設置滑動測試起點坐標。 | 否 | 坐標均為正值。 |
-e, --end[x,y] | 設置滑動測試終點坐標。 | 否 | 坐標均為正值。 |
-b, --bilateral | 設置往返滑動。 | 否 | 默認不往返滑動。 |
-t, --touch[x,y] | 點擊測試。 | 否 | - |
-T, --time | 設置測試總時間。 | 否 | 單位分鐘,默認10分鐘。 |
-C, --component | 控件順序遍歷測試。 | 否 | 需要設置測試應用名稱。 |
-r, --record | 錄制。 | 否 | 需要指定錄制文件。 |
-R, --replay | 回放。 | 否 | 需要指定回放文件。 |
-p, --screenshot | 控件測試截圖。 | 否 | - |
4.2? 示例
4.2.1 休眠喚醒專項測試
命令:wukong special -k -i 5000
4.2.2 指定應用的控件順序遍歷測試
命令:wukong special -C [bundlename] -p
五、專注測試
5.1 命令參數說明
命令 | 功能 | 必選 | 說明 |
---|---|---|---|
-n,--numberfocus | 設置每個控件注入的次數。 | 否 | 單位次數。 |
-f, --focustypes | 設置需要專注的控件類型。 | 否 | 以英文逗號隔開。 |
-c,--count | 設置執行次數,與設置執行時間-T沖突。二者取其一。 | 否 | 單位次數,默認10次。 |
-i,--interval | 設置執行間隔。 | 否 | 單位ms,默認1500ms。 |
-s,--seed | 設置隨機種子。 | 否 | 配置相同隨機種子,會生成相同隨機事件序列。 |
-b,--bundle[bundlename,……,bundlename] | 設置本次測試的允許應用名單,與-p沖突。 | 否 | 默認測試當前設備所有應用(應用名稱用英文逗號隔開)。 |
-p,--prohibit[bundlename,……,bundlename] | 設置本次測試的禁止應用名單,與-b沖突。 | 否 | 默認不禁止任何應用(應用名稱用英文逗號隔開)。 |
-d,--page[page,……,page] | 設置本次測試的禁止頁面名單。 | 否 | 系統默認禁止pages/system頁面(頁面名稱用逗號隔開)。 |
-a,--appswitch | 設置應用隨機拉起測試比例。 | 否 | 默認10%。 |
-t,--touch | 設置屏幕隨機觸摸測試比例。 | 否 | 默認10%。 |
-S,--swap | 設置屏幕隨機移動測試比例。 | 否 | 默認3%。 |
-m,--mouse | 設置屏幕隨機鼠標測試比例。 | 否 | 默認1%。 |
-k,--keyboard | 設置屏幕隨機鍵盤操作測試比例。 | 否 | 默認2%。 |
-H,--hardkey | 設置隨機物理按鍵測試比例。 | 否 | 默認2%。 |
-r,--rotate | 設置隨機屏幕旋轉測試比例。 | 否 | 默認2%。 |
-C, --component | 設置隨機控件測試比例。 | 否 | 默認70%。 |
-I, --screenshot | 控件測試截圖。 | 否 | - |
-T,--time | 設置測試總時間,與設置執行次數-c沖突。二者取其一。 | 否 | 單位分鐘,默認10分鐘。 |
-e, --allow ability | 設置允許測試的ability。 | 否 | - |
-E, --block ability | 設置禁止測試的ability。 | 否 | - |
-Y, --blockCompId | 設置不進行注入的CompId。 | 否 | - |
-y, --blockCompType | 設置不進行注入的CompType。 | 否 | - |
-B, --checkBWScreen | 設置啟用黑白屏檢測。 | 否 | - |
5.2 示例
5.2.1 隨機拉起應用
命令:wukong focus -a 1 -T 2 -I
開始執行:
2分鐘后,執行結束:
命令中各參數含義:
命令 | 參數值 | 說明 |
---|---|---|
wukong focus | - | 主命令。 |
-a | 1 | 參數設置應用隨機拉起測試比例100%。 |
-T | 2 | 設置測試總時間,2分鐘。與設置執行次數-c沖突。二者取其一。 |
-I | - | 控件測試截圖。 |
5.2.2? 屏幕隨機觸摸測試
命令:wukong focus -s 10 -i 1500 -a 0.25 -t 0.75 -c 100
命令中各參數含義:
命令 | 參數值 | 說明 |
---|---|---|
wukong focus | - | 主命令。 |
-s | 10 | 參數設置隨機種子,10為種子值。 |
-i | 1500 | 參數設置應用拉起間隔為1500ms。 |
-a | 0.25 | 參數設置應用隨機拉起測試比例25%。 |
-t | 0.75 | 參數設置屏幕隨機touch測試比例為75%。 |
-c | 100 | 參數設置執行次數為100次。 |
5.2.2??
六、查看測試結果
???6.1?測試結果輸出路徑
? ?執行完測試指令后,會自動生成測試結果(文件夾格式:年月日_時分秒)
? ?測試結果輸出根路徑如下:
? ? /data/local/tmp/wukong/report/xxxxxxxx_xxxxxx/
6.2 測試報告文件目錄
我們進入任意一個文件夾,查看其目錄內容
類型 | 描述 |
---|---|
exception/ | 存放本次測試產生的異常文件。 |
wukong_report.csv | 測試報告統計匯總。 |
wukong.log | 測試操作歷程。 |
6.3 查看操作日志
wukong支持通過hdc命令將日志獲取到本地,查看操作歷程
我們可以用hdc file recv獲取wukong日志到本地:
然后再使用Notepad++查看就非常方便了:
注:經多次驗證在wukong 3.2.0.0版本上某些命令參數不對或者報錯,比如wukong exec --help,正常情況下這個是幫助命令,但是我在Mate60上(API版本5.0.5)執行卻不是幫助命令,如下圖。