作者:leidan,軟件測試開發(fā)工程師
HarmonyOS發(fā)布了聲明式開發(fā)框架ArkUI,帶來了極簡高效的開發(fā)體驗,備受廣大開發(fā)者的青睞。那么,我們在開發(fā)過程中,如何確保ArkTS應(yīng)用的功能和界面滿足預(yù)期呢?ArkTS應(yīng)用怎樣高效進行專項測試?接下來,有請我們本期的主角——自動化測試框架Hypium閃亮登場。
Hypium測試框架介紹
想必大家對自動化測試框架Hypium并不陌生,此前有關(guān)于Hypium的詳細介紹《HarmonyOS自動化測試框架—Hypium》,大家可自行查閱。下面,我們一起了解Hypium測試框架,主要涵蓋三個維度:
1、測試執(zhí)行調(diào)度層
xDevice支持手機、平板、PC、穿戴、智慧屏、音箱和車機等多設(shè)備,助力應(yīng)用跨設(shè)備測試驗證。
2、測試框架層
涵蓋HTSUnit、HUITest、HCUnit與HCPPTest多層次測試框架,從應(yīng)用的單元/接口層、到UI界面層、再到C/C++系統(tǒng)層,構(gòu)建多維度測試服務(wù)保障。
3、測試能力庫
包含系統(tǒng)測試組件、UITestKit組件、專項測試組件,以及分布式測試組件,實現(xiàn)豐富的場景模擬能力和跨設(shè)備分布式測試能力。

Hypium測試框架架構(gòu)
Hypium測試框架以插件形式集成到DevEco Studio中,使用非常便捷。今天,我們重點分享Hypium新版本支持ArkUI引擎,同時新增了測試能力庫,構(gòu)建豐富的場景模擬能力和專項測試執(zhí)行能力,全面使能ArkTS應(yīng)用自動化測試。
豐富的場景模擬API,助力多層次測試
ArkTS應(yīng)用采用了類似MVC經(jīng)典結(jié)構(gòu)1,包括View(視圖)、Model(模型)、Server(服務(wù))三個部分。View(視圖)負責頁面元素定義生成頁面和一些基礎(chǔ)的頁面邏輯;Model(模型)是數(shù)據(jù)模型,負責存儲應(yīng)用的數(shù)據(jù);Server(服務(wù))負責處理復(fù)雜的業(yè)務(wù)邏輯,包括網(wǎng)絡(luò)、設(shè)備硬件交互等。針對三個不同層次的測試場景,我們可以采用不同的測試方式,驗證應(yīng)用的正確性。
1、View層:UI界面層,建議使用系統(tǒng)集成測試,驗證基礎(chǔ)功能和界面。
2、Model層:數(shù)據(jù)邏輯層,可以使用應(yīng)用接口測試,驗證數(shù)據(jù)邏輯的正確性。
3、Server層:業(yè)務(wù)邏輯層,可以使用應(yīng)用接口測試,驗證業(yè)務(wù)邏輯的正確性。

ArkTS應(yīng)用多層次測試
在測試過程中,為了驗證應(yīng)用的功能,我們需要構(gòu)建不同的場景。例如,測試導(dǎo)航場景需要構(gòu)建位置移動軌跡,測試重力感應(yīng)游戲需要構(gòu)建重力傳感器數(shù)據(jù),測試低電量場景需要等到設(shè)備電量低于5%等。但構(gòu)建這些場景耗時費力,甚至部分無法實現(xiàn)自動化,只能依賴人工測試,基于這種情況,Hypium測試框架提供了通用的接口模擬能力,支持開發(fā)者模擬應(yīng)用接口,快捷構(gòu)建測試場景。
以下是單元測試模擬能力通用接口列表:

模擬能力通用接口
使用以上模擬接口,我們可以便捷地模擬任意接口的返回值,從而達到場景模擬效果,提升應(yīng)用單元測試效率。但對于部分特殊場景,開發(fā)者模擬效率較低,通用模擬能力無法滿足特定的測試需求。別擔心,除了通用模擬能力,Hypium測試框架還提供了特殊場景模擬能力,包括設(shè)備交互模擬、設(shè)備環(huán)境模擬、云端交互模擬。
1、設(shè)備交互模擬:構(gòu)建應(yīng)用與設(shè)備之間數(shù)據(jù)交互模擬能力,主要模擬設(shè)備物理器件數(shù)據(jù)與應(yīng)用的交互,包括不限于:物理位置模擬、重力傳感器、加速度傳感器等多種傳感器數(shù)據(jù)模擬?;谠O(shè)備交互模擬能力可以構(gòu)建多種場景,例如:導(dǎo)航、重力感應(yīng)、接近光等。
2、設(shè)備環(huán)境模擬:構(gòu)建設(shè)備狀態(tài)的模擬能力,包括不限于:系統(tǒng)電量、信號強度、媒體播放、資源占用等,基于設(shè)備環(huán)境模擬能力可以構(gòu)造設(shè)備的不同狀態(tài),例如:低電量、弱信號、后臺媒體播放等。
3、云端交互模擬:構(gòu)建云端模擬能力,模擬云端服務(wù)器的返回值,將應(yīng)用與云端服務(wù)解耦。
專項測試執(zhí)行能力,使能多維度測試
ArkTS應(yīng)用除了基礎(chǔ)的測試場景外,還面臨很多特殊的測試場景,例如:如何測試應(yīng)用接口的性能?接口的參數(shù)類型比較多,如何實現(xiàn)全量覆蓋?測試某項場景時,如何避免執(zhí)行全部測試用例,只執(zhí)行相應(yīng)部分測試用例?
針對這些特殊場景,Hypium測試框架從測試執(zhí)行粒度、執(zhí)行方式、執(zhí)行調(diào)度等多維度提供壓力、數(shù)據(jù)驅(qū)動、篩選能力等場景的測試執(zhí)行能力,進一步提升ArkTS應(yīng)用測試執(zhí)行效率。
1、壓力測試
適用于接口壓力測試場景,用戶可以自定義測試用例的執(zhí)行次數(shù)。執(zhí)行測試aa test測試命令帶上壓力參數(shù)即可,例如:
aa test –p xxxx –n xxxxx –s stress 10
參數(shù) | 取值 | 含義 |
-s stress | 正整數(shù) | 測試用例執(zhí)行次數(shù) |
2、數(shù)據(jù)驅(qū)動測試
適用于接口參數(shù)類型比較多,無法通過測試用例直接覆蓋的場景。我們可以自定義配置參數(shù)快捷驅(qū)動測試用例的執(zhí)行次數(shù)和每一次傳入的參數(shù),使用時依賴data.json配置文件,文件內(nèi)容如下:
左右滑動,查看更多
配置參數(shù)說明:

3、測試用例篩選
Hypium支持根據(jù)用例屬性,篩選執(zhí)行指定的測試用例,使用方式是先在測試用例上標記用例屬性后,再在測試應(yīng)用的啟動shell命令后新增"-s ${Key} ${Value}"。

示例代碼
左右滑動,查看更多
示例命令
左右滑動,查看更多
該命令的作用是:篩選測試應(yīng)用中同時滿足a)用例級別是1 b)用例粒度是small c)用例測試類型是function 三個條件的用例執(zhí)行。
4、測試套篩選
測試套與用例名稱使用“#”號連接,多個篩選規(guī)則使用“,”英文逗號分隔。
Key | 含義說明 | Value取值范圍 |
class | 指定要執(zhí)行的測試套&用例 | ${describeName}#${itName},${describeName} , 例如:-s class attributeTest#testAttributeIt |
notClass | 指定不執(zhí)行的測試套&用例 | ${describeName}#${itName},${describeName} , 例如:-s notClass attributeTest#testAttributeIt |
示例命令
左右滑動,查看更多
本期分享的自動化測試框架Hypium,你學(xué)會了嗎?快來上手試試吧!未來,我們還將繼續(xù)打磨演進Hypium測試能力,助力大家開發(fā)更卓越的應(yīng)用產(chǎn)品,廣大開發(fā)者朋友敬請期待!
1MVC結(jié)構(gòu)即 Model 模型、View 視圖、Controller 控制器。
END
想了解更多HarmonyOS技術(shù)?
后臺留言給我們
立刻安排!

歡迎點擊|閱讀原文|
進入HarmonyOS應(yīng)用開發(fā)在線體驗
原文標題:Hypium框架使能ArkTS應(yīng)用高效測試
文章出處:【微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
HarmonyOS
+關(guān)注
關(guān)注
80文章
2153瀏覽量
36044
原文標題:Hypium框架使能ArkTS應(yīng)用高效測試
文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
LuatOS框架的使用(上)
NVIC中斷使能與禁止使能
上能電氣與中石油濟柴簽署框架合作協(xié)議
HarmonyOSAI編程單元測試用例
汽車800V高壓儲能電池管理系統(tǒng)設(shè)計框架
BitsButton嵌入式按鍵處理框架
方案分享 | ARXML 規(guī)則下 ECU 總線通訊與 ADTF 測試方案
UI開發(fā)概述
什么是ArkTS?
HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開發(fā)函數(shù)
HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開發(fā)Node環(huán)境
Leadway電源模塊的使能信號是如何作用的
APP自動化測試框架
Hypium框架使能ArkTS應(yīng)用高效測試
評論