鴻蒙Harmony測試-wukong穩定性工具(類似Android的Monkey測試)

一、功能介紹

????????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)執行卻不是幫助命令,如下圖。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85358.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85358.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85358.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從零學起VIM

前言 筆者早年剛入行的時候就接觸過Vim,當時還是真正的菜鳥,帶我的師父是一個華為骨干員工,猶記得他給我指導如何保存并關閉文本:按Esc,然后輸入:wq。還記得自己打開Vim編輯器,一個字符都敲不進去,然后問旁…

不依賴rerank 模型排序通過使用 PostgreSQL 中的 pgvector 與 tsearch2 函數進行混合搜索提高召回率

前言 在向量搜索中,召回率是一個關鍵指標,它衡量搜索結果的相關性。然而,提高召回率往往會犧牲其他指標,如索引大小或查詢延遲。為了平衡這些權衡,混合搜索技術應運而生。本文將介紹如何在 PostgreSQL 中結合 pgvecto…

Uniapp 跨平臺開發框架全面解析:一次開發,多端運行

在移動互聯網時代,開發者面臨著一個重要挑戰:如何高效地開發出能在多個平臺(iOS、Android、Web、小程序等)上運行的應用?傳統的原生開發方式需要為每個平臺單獨編寫代碼,導致開發周期長、維護成本高。而 Un…

ios如何把H5網頁變成主屏幕webapp應用

一、將 H5 頁面添加到主屏幕的步驟 打開 Safari 瀏覽器 在 iPhone 上打開 Safari 瀏覽器,訪問目標網頁(H5 頁面)。 點擊分享按鈕 在 Safari 瀏覽器底部點擊 “分享” 圖標(箭頭向上的按鈕)。 添加到主屏幕 在分享菜單…

Node.js 項目啟動命令大全 (形象版)

文章目錄 Node.js 項目啟動命令大全 🌟?(形象版)一、🔍 如何查看項目啟動命令(魔法書目錄)package.json scripts 參數詳解開發相關腳本測試相關腳本構建相關腳本代碼質量相關腳本最佳實踐 二、&#x1f68…

愛普特APT32F1104C8T6單片機 高抗干擾+硬件加密雙保障

愛普特APT32F1104C8T6單片機深度解析 1. 產品定位 APT32F1104C8T6 是愛普特半導體(APT)推出的 32位高性能經濟型單片機,基于 ARM Cortex-M0內核,采用 LQFP48封裝,主打 高性價比、低功耗、強抗干擾,是替代進…

使用uni-app ios 打包流程

配置幾個步驟即可 1、打包ios需要BundleID ID 2、證書私鑰密碼 3、信任文件證書文件 4、私鑰證書 5、打包 6、獲取打包后的ipa文件 7、通過愛思助手安裝到iso手機上 8、完成 1、下載:App Uploader去獲取我們想要的證書私鑰等文件 2、下載完成解壓后的文件如下打…

仿muduo庫實現并發服務器

1.實現目標 仿muduo庫One Thread One Loop式主從Reactor模型實現高并發服務器: 通過實現高并發服務器的組件,可以快速實現一個高并發服務器的搭建,并且,通過組內不同應用層協議的支持,可以快速完成高性能服務器的搭建…

迭代器模式:集合遍歷的統一之道

引言:集合遍歷的演進之路 在軟件開發中,集合遍歷是我們每天都要面對的基礎操作。從最初的數組索引遍歷到現代的流式處理,我們經歷了: #mermaid-svg-KwTr9k8JgbwRTDhU {font-family:"trebuchet ms",verdana,arial,sans-…

Spring Security OAuth2 組件

我們來系統地講解一下 Spring Security OAuth2 這個強大的組件。我會從概念、作用、核心組件,以及實際應用場景來為你剖析。 1. 什么是 Spring Security OAuth2? 簡單來說,Spring Security OAuth2 是 Spring Security 框架的一個模塊&#…

Redis的持久化功能

Redis的持久化功能能夠將內存中的數據保存到磁盤,從而在重啟后恢復數據。下面為你詳細介紹Redis的兩種主要持久化方式及其配置方法。 RDB(Redis Database)持久化 RDB持久化是通過生成某個時間點的數據集快照來實現的。它具有高性能的特點&a…

Chrome 將成為下一個 IE6

最近在技術圈刷到一個帖子,說:“Chrome 就快變成新的 IE6 了。” 乍一看有點危言聳聽,但你一細品,發現還真挺像回事。 想當年:IE6 是怎么垮的? IE6 當年多風光?全球市場份額一度超過 90%&#…

Redis 配置文件詳解redis.conf 從入門到實戰

一、redis.conf 是什么? Redis 的配置文件(默認命名為 redis.conf,Redis 8.0 之后改為 redis-full.conf)控制著服務運行的各項參數。該文件采用以下結構: 指令名 參數1 參數2 ... 參數N例如: replicaof …

autoware docker的安裝

前言 官方的安裝說明: 官方的安裝說明 安裝前,請確認安裝的硬件: CPU with 8 cores16GB RAM[Optional] NVIDIA GPU (4GB RAM) 滿足需求 1. 安裝軟件依賴 這一步主要是安裝三個軟件: DockerNVIDIA Container Toolkit (pref…

AWS 解決方案深度剖析:Amazon QLDB — 構建可信賴、不可變的數據審計基石

導言:數據可信的挑戰 在現代應用開發中,尤其是在金融、供應鏈、身份認證、政府事務、醫療記錄管理等領域,數據完整性和歷史追溯性至關重要。我們常常面臨以下挑戰: 審計困難: 如何證明數據從誕生至今未被篡改&#xf…

Leetcode-?1358. 包含所有三種字符的子字符串數目?

Problem: 1358. 包含所有三種字符的子字符串數目 思路 滑動窗口 解題過程 滑動窗口:使用左右指針 l 和 r 維護一個窗口,窗口內字符的頻次由 cnt 記錄。 右指針擴展:右指針 r 不斷右移,將字符加入窗口并更新頻率。 左指針收縮&a…

iTunes 無法備份 iPhone:10 種解決方法

Apple 設備是移動設備市場上最先進的產品之一,但有些人遇到過 iTunes 因出現錯誤而無法備份 iPhone 的情況。iTunes 拒絕備份 iPhone 時,可能會令人非常沮喪。不過,幸運的是,我們有 10 種有效的方法可以解決這個問題。您可以按照以…

Unity 接入抖音小游戲一

目錄 一、搭建小游戲環境 二、接入抖音SDK 1.初始化 2.登錄 3.分享 4.添加到桌面 5.側邊欄功能 6. 接入流量主 三、完整代碼 下一篇傳送門 Unity 接入抖音小游戲二 -CSDN博客 一、搭建小游戲環境 我這邊因為沒有下載其他版本的Unity所以就先用2022.3.57f1了 大家還是下載…

Node.js 項目啟動命令全面指南:從入門到精通(術語版)

文章目錄 Node.js 項目啟動命令全面指南:從入門到精通一、核心啟動命令深度解析1. 基礎命令結構與執行機制2. 參數傳遞機制詳解 二、常用命令分類詳解1. 運行環境命令對比2. 質量保障命令詳解3. 構建部署全流程 三、高級配置實戰技巧1. 環境變量管理進階2. 命令組合…

創意風格行業PPT模版分享

極簡主題PPT模版,設計類PPT模版,快樂童年成長PPT模版,教育機構通用PPT模版,創意風格行業PPT模版 創意風格行業PPT模版分享:https://pan.quark.cn/s/3bac52e09479