在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenHarmony自動化測試框架開發(fā)指南

OpenHarmony技術社區(qū) ? 來源:OST開源開發(fā)者 ? 2023-05-15 09:35 ? 次閱讀

OpenHarmony 自動化測試框架是 OpenHarmony 提供的支持 JS/TS 語言的單元及 UI 測試框架,支持開發(fā)者針對應用接口或系統(tǒng)接口進行單元測試,并且可基于 UI 操作進行 UI 自動化腳本的編寫。

34d9b6f2-f29d-11ed-90ce-dac502259ad0.png

OpenHarmony 自動化測試框架重要分為兩大部分:單元測試框架和 UI 測試框架。

單元測試框架是測試框架的基礎底座,提供了最基本的用例識別、調度、執(zhí)行及結果匯總的能力。

UI 測試框架主要調用提供的 UiTest API 對不同測試場景進行測試,而其腳本的運行基礎還是單元測試框架。

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-uitest.md

從代碼的角度體現(xiàn)為,每個 OpenHarmony 工程在新建時都會提供一個 ohosTest 模塊,包含基礎的單元測試運行腳本。

如下圖所示:

352092b6-f29d-11ed-90ce-dac502259ad0.png

其中各文件間的大致關系如下圖所示:

3534f5a8-f29d-11ed-90ce-dac502259ad0.png

單元測試腳本的基礎運行流程如下圖所示,依賴 aa test 命令作為執(zhí)行入口(可結合上述代碼中的關系圖進行對比)。

3577563c-f29d-11ed-90ce-dac502259ad0.png

開發(fā)步驟

①新建測試腳本

在工程目錄下打開待測試模塊下的 ets 文件,將光標置于代碼中任意位置,單擊右鍵→Show Context Actions→Create Ohos Test 或快捷鍵Alt+enter→ Create Ohos Test 創(chuàng)建測試類。

如下圖所示:

35903850-f29d-11ed-90ce-dac502259ad0.png

35be1720-f29d-11ed-90ce-dac502259ad0.png

完成后自動生成一個測試腳本:

35e1e470-f29d-11ed-90ce-dac502259ad0.png

編寫單元測試腳本

代碼如下:

import{describe,beforeAll,beforeEach,afterEach,afterAll,it,expect}from'@ohos/hypium'
importabilityDelegatorRegistryfrom'@ohos.application.abilityDelegatorRegistry'

constdelegator=abilityDelegatorRegistry.getAbilityDelegator()
exportdefaultfunctionabilityTest(){
describe('ActsAbilityTest',function(){
it('testUiExample',0,asyncfunction(done){
console.info("uitest:TestUiExamplebegin");
//starttestedability
awaitdelegator.executeShellCommand('aastart-bcom.ohos.uitest-aMainAbility').then(result=>{
console.info('Uitest,startabilityfinished:'+result)
}).catch(err=>{
console.info('Uitest,startabilityfailed:'+err)
})
awaitsleep(1000);
//checktopdisplayability
awaitdelegator.getCurrentTopAbility().then((Ability)=>{
console.info("gettopability");
expect(Ability.context.abilityInfo.name).assertEqual('MainAbility');
})
done();
})

functionsleep(time){
returnnewPromise((resolve)=>setTimeout(resolve,time));
}
})
}

單元測試腳本需要包含如下基本元素:

依賴導包,以便使用依賴的測試接口。

測試代碼編寫,主要編寫測試代碼的相關邏輯,如接口調用等。

斷言接口調用,設置測試代碼中的檢查點,如無檢查點,則不可認為一個完整的測試腳本。

編寫UI 測試腳本

UI 測試腳本是在單元測試框架的基礎上編寫,主要就是增加了 UI 測試框架提供的接口調用,實現(xiàn)對應的測試邏輯。

下面的示例代碼是在上面的測試腳本基礎上增量編寫,首先需要增加依賴導包,如下示例代碼所示:

import{Driver,ON,Component,MatchPattern}from'@ohos.uitest'
然后是具體測試代碼編寫,場景較為簡單,就是在啟動的應用頁面上進行點擊操作,然后增加檢查點檢查用例。
exportdefaultfunctionabilityTest(){
describe('ActsAbilityTest',function(){
it('testUiExample',0,asyncfunction(done){
console.info("uitest:TestUiExamplebegin");
//starttestedability
awaitdelegator.executeShellCommand('aastart-bcom.ohos.uitest-aMainAbility').then(result=>{
console.info('Uitest,startabilityfinished:'+result)
}).catch(err=>{
console.info('Uitest,startabilityfailed:'+err)
})
awaitsleep(1000);
//checktopdisplayability
awaitdelegator.getCurrentTopAbility().then((Ability)=>{
console.info("gettopability");
expect(Ability.context.abilityInfo.name).assertEqual('MainAbility');
})
//uitestcode
//initdriver
vardriver=awaitDriver.create();
awaitdriver.delayMs(1000);
//findbuttonbytext'Next'
varbutton=awaitdriver.findComponent(ON.text('Next'));
//clickbutton
awaitbutton.click();
awaitdriver.delayMs(1000);
//checktext
awaitdriver.assertComponentExist(ON.text('afterclick'));
awaitdriver.pressBack();
done();
})

functionsleep(time){
returnnewPromise((resolve)=>setTimeout(resolve,time));
}
})
}

執(zhí)行測試腳本

執(zhí)行測試腳本可以直接在 DevEco Studio 中通過點擊按鈕執(zhí)行,當前支持以下執(zhí)行方式: ①測試包級別執(zhí)行即執(zhí)行測試包內的全部用例。 ②測試套級別執(zhí)行即執(zhí)行 describe 方法中定義的全部測試用例。

③測試方法級別執(zhí)行即執(zhí)行指定 it 方法也就是單條測試用例。

360e922c-f29d-11ed-90ce-dac502259ad0.png

其中測試包內的全部測試用例運行任務可按如下步驟創(chuàng)建: 36584124-f29d-11ed-90ce-dac502259ad0.png367ab18c-f29d-11ed-90ce-dac502259ad0.png

36a5fd4c-f29d-11ed-90ce-dac502259ad0.png

查看測試結果

測試執(zhí)行完畢后可直接在 DevEco Studio 中查看測試結果,如下圖示例所示:

36bdfd52-f29d-11ed-90ce-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2706

    瀏覽量

    47468
  • 自動化測試
    +關注

    關注

    0

    文章

    210

    瀏覽量

    26908
  • 接口
    +關注

    關注

    33

    文章

    8596

    瀏覽量

    151145
  • OpenHarmony
    +關注

    關注

    25

    文章

    3722

    瀏覽量

    16313

原文標題:OpenHarmony自動化測試框架開發(fā)指南

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    鴻蒙OS開發(fā)實戰(zhàn):【自動化測試框架】使用指南

    為支撐HarmonyOS操作系統(tǒng)的自動化測試活動開展,我們提供了支持JS/TS語言的單元及UI測試框架,支持開發(fā)者針對應用接口進行單元
    的頭像 發(fā)表于 04-08 14:49 ?1398次閱讀
    鴻蒙OS<b class='flag-5'>開發(fā)</b>實戰(zhàn):【<b class='flag-5'>自動化</b><b class='flag-5'>測試</b><b class='flag-5'>框架</b>】使用<b class='flag-5'>指南</b>

    OPhone自動化測試技術概述

    上可采用的幾種自動化測試技術進行介紹,并對每種技術的優(yōu)缺點做簡要的總結。OPhone臺除了為應用程序開發(fā)提供豐富的API外,也為開展自動化測試
    發(fā)表于 05-06 08:58

    基于LAN的自動化測試系統(tǒng)開放指南

    自動化測試開發(fā)指南
    發(fā)表于 09-02 12:34

    自動化測試框架思想和構建

    自動化測試一般是指軟件測試自動化,軟件測試就是在預設條件下運行系統(tǒng)或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。本文介紹的是
    發(fā)表于 07-18 06:52

    HarmonyOS自動化測試框架—Hypium

    ??,點擊鏈接查看更多技術內容。 應用開發(fā)過程中,要確保應用的功能和界面能滿足預期,往往需要通過測試來驗證。為此,我們研發(fā)了一套新的自動化測試框架
    發(fā)表于 08-10 17:13

    OpenHarmony AI框架開發(fā)指

    一、概述 1、功能簡介 AI業(yè)務子系統(tǒng)是OpenHarmony提供原生的分布式AI能力的子系統(tǒng)。AI業(yè)務子系統(tǒng)提供了統(tǒng)一的AI引擎框架,實現(xiàn)算法能力快速插件集成。 AI引擎框架主要
    發(fā)表于 09-19 18:54

    HamronyOS自動化測試框架使用指南

    概述 為支撐 HarmonyOS 操作系統(tǒng)的自動化測試活動開展,我們提供了支持 JS/TS 語言的單元及 UI 測試框架,支持開發(fā)者針對應用
    發(fā)表于 12-19 10:26

    常用軟件測試自動化框架

    自動化測試框架無疑是企業(yè)實施自動化測試的一個必然的發(fā)展方向,它對于產生成功的測試
    發(fā)表于 04-21 11:39 ?5063次閱讀

    全面提升自動化測試,NI TestStand 2012新模塊框架

    NI TestStand 2012采用全新的模塊框架,能夠簡化自動化測試開發(fā)和報告生成。
    發(fā)表于 11-06 17:42 ?1779次閱讀

    基于Web的自動化測試框架的研究

    根據web系統(tǒng)測試的特點,為提高軟件測試自動化腳本的可重用性,結合在實際項目中軟件自動化測試的實踐,提出基于Web的
    發(fā)表于 11-07 15:58 ?0次下載
    基于Web的<b class='flag-5'>自動化</b><b class='flag-5'>測試</b><b class='flag-5'>框架</b>的研究

    Python自動化測試框架有哪些?

    開發(fā)者萬分高興的是,開發(fā)自己的測試框架的日子終于結束了。以前,開發(fā)團隊接手一個項目并開始開發(fā)
    的頭像 發(fā)表于 07-28 09:06 ?4670次閱讀

    什么是自動化測試框架

    這些優(yōu)勢可以是不同的形式,如易于編寫腳本、可伸縮性、模塊、可理解性、過程定義、可重用性、成本、維護等。因此,為了能夠獲得這些好處,建議開發(fā)人員使用一個或多個自動化測試
    的頭像 發(fā)表于 11-03 10:33 ?4353次閱讀

    JavaUI框架新增組件開發(fā)指南

    Java UI框架是HarmonyOS應用開發(fā)中諸多開發(fā)者需要關注的重要內容。近期,文檔君結合各位開發(fā)者反饋的聲音和改進建議,對官網文檔的Java UI
    的頭像 發(fā)表于 09-28 10:04 ?2348次閱讀
    JavaUI<b class='flag-5'>框架</b>新增組件<b class='flag-5'>開發(fā)指南</b>

    自動化測試框架unittes詳解

    測試框架,不妨“軟為硬用”。這里就基于python的自動化測試框架unittest來實現(xiàn)一個簡單的自動
    的頭像 發(fā)表于 05-20 14:47 ?2941次閱讀

    什么是自動化測試框架

    自動化測試框架,即是應用于自動化測試所用的框架。按照框架
    發(fā)表于 04-18 14:44 ?922次閱讀
    主站蜘蛛池模板: 手机看片日韩国产| 国产欧美日韩haodiaose| 亚洲成av人片在线观看无码| 亚洲人成电影院在线观看| 美女天天色| 色惰网站| 人人爽人人澡| 欧美第一色| 天天爱天天操| 精品国产柚木在线观看| 免费a级网站| 欧美视频图片| www在线观看| 哥也操| 亚洲国产欧美精品一区二区三区| 精品国产免费一区二区| 久久亚洲国产视频| 伊人精品在线观看| 国产普通话一二三道| 偷偷狠狠的日日2020| 亚洲国产一区二区在线| 美女拍拍拍免费视频观看| 久久精品伊人波多野结| 一区二区三区国模大胆| 国产成人综合久久| 欧美ol丝袜高跟秘书在线播放 | 天天拍天天射| 在线看3344免费视频| 亚洲色图27p| 久久青草国产免费观看| 国产精品午夜寂寞视频| 特级片网站| 久久综合狠狠综合狠狠| 黄色免费看网站| 天天爱天天色| 天天做天天爱天天做天天吃中| 免费大片看黄在观看| 精品黄色录像| 激情五月在线| 噜噜色小说| 六月丁香激情综合成人|