一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenHarmony自動(dòng)化測(cè)試框架開(kāi)發(fā)指南

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

OpenHarmony 自動(dòng)化測(cè)試框架是 OpenHarmony 提供的支持 JS/TS 語(yǔ)言的單元及 UI 測(cè)試框架,支持開(kāi)發(fā)者針對(duì)應(yīng)用接口或系統(tǒng)接口進(jìn)行單元測(cè)試,并且可基于 UI 操作進(jìn)行 UI 自動(dòng)化腳本的編寫(xiě)。

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

OpenHarmony 自動(dòng)化測(cè)試框架重要分為兩大部分:?jiǎn)卧獪y(cè)試框架和 UI 測(cè)試框架。

單元測(cè)試框架是測(cè)試框架的基礎(chǔ)底座,提供了最基本的用例識(shí)別、調(diào)度、執(zhí)行及結(jié)果匯總的能力。

UI 測(cè)試框架主要調(diào)用提供的 UiTest API 對(duì)不同測(cè)試場(chǎng)景進(jìn)行測(cè)試,而其腳本的運(yùn)行基礎(chǔ)還是單元測(cè)試框架。

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

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

如下圖所示:

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

其中各文件間的大致關(guān)系如下圖所示:

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

單元測(cè)試腳本的基礎(chǔ)運(yùn)行流程如下圖所示,依賴 aa test 命令作為執(zhí)行入口(可結(jié)合上述代碼中的關(guān)系圖進(jìn)行對(duì)比)。

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

開(kāi)發(fā)步驟

①新建測(cè)試腳本

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

如下圖所示:

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

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

完成后自動(dòng)生成一個(gè)測(cè)試腳本:

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

編寫(xiě)單元測(cè)試腳本

代碼如下:

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));
}
})
}

單元測(cè)試腳本需要包含如下基本元素:

依賴導(dǎo)包,以便使用依賴的測(cè)試接口。

測(cè)試代碼編寫(xiě),主要編寫(xiě)測(cè)試代碼的相關(guān)邏輯,如接口調(diào)用等。

斷言接口調(diào)用,設(shè)置測(cè)試代碼中的檢查點(diǎn),如無(wú)檢查點(diǎn),則不可認(rèn)為一個(gè)完整的測(cè)試腳本。

編寫(xiě)UI 測(cè)試腳本

UI 測(cè)試腳本是在單元測(cè)試框架的基礎(chǔ)上編寫(xiě),主要就是增加了 UI 測(cè)試框架提供的接口調(diào)用,實(shí)現(xiàn)對(duì)應(yīng)的測(cè)試邏輯。

下面的示例代碼是在上面的測(cè)試腳本基礎(chǔ)上增量編寫(xiě),首先需要增加依賴導(dǎo)包,如下示例代碼所示:

import{Driver,ON,Component,MatchPattern}from'@ohos.uitest'
然后是具體測(cè)試代碼編寫(xiě),場(chǎng)景較為簡(jiǎn)單,就是在啟動(dòng)的應(yīng)用頁(yè)面上進(jìn)行點(diǎn)擊操作,然后增加檢查點(diǎn)檢查用例。
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í)行測(cè)試腳本

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

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

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

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

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

查看測(cè)試結(jié)果

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

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

審核編輯:湯梓紅

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

    關(guān)注

    7

    文章

    2771

    瀏覽量

    49050
  • 自動(dòng)化測(cè)試

    關(guān)注

    0

    文章

    222

    瀏覽量

    27178
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8885

    瀏覽量

    152972
  • OpenHarmony
    +關(guān)注

    關(guān)注

    26

    文章

    3804

    瀏覽量

    17853

原文標(biāo)題:OpenHarmony自動(dòng)化測(cè)試框架開(kāi)發(fā)指南

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙OS開(kāi)發(fā)實(shí)戰(zhàn):【自動(dòng)化測(cè)試框架】使用指南

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

    OPhone自動(dòng)化測(cè)試技術(shù)概述

    上可采用的幾種自動(dòng)化測(cè)試技術(shù)進(jìn)行介紹,并對(duì)每種技術(shù)的優(yōu)缺點(diǎn)做簡(jiǎn)要的總結(jié)。OPhone臺(tái)除了為應(yīng)用程序開(kāi)發(fā)提供豐富的API外,也為開(kāi)展自動(dòng)化測(cè)試
    發(fā)表于 05-06 08:58

    基于LAN的自動(dòng)化測(cè)試系統(tǒng)開(kāi)放指南

    自動(dòng)化測(cè)試開(kāi)發(fā)指南
    發(fā)表于 09-02 12:34

    自動(dòng)化測(cè)試框架思想和構(gòu)建

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

    HarmonyOS自動(dòng)化測(cè)試框架—Hypium

    ??,點(diǎn)擊鏈接查看更多技術(shù)內(nèi)容。 應(yīng)用開(kāi)發(fā)過(guò)程中,要確保應(yīng)用的功能和界面能滿足預(yù)期,往往需要通過(guò)測(cè)試來(lái)驗(yàn)證。為此,我們研發(fā)了一套新的自動(dòng)化測(cè)試框架
    發(fā)表于 08-10 17:13

    OpenHarmony AI框架開(kāi)發(fā)指導(dǎo)

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

    HamronyOS自動(dòng)化測(cè)試框架使用指南

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

    常用軟件測(cè)試自動(dòng)化框架

    自動(dòng)化測(cè)試框架無(wú)疑是企業(yè)實(shí)施自動(dòng)化測(cè)試的一個(gè)必然的發(fā)展方向,它對(duì)于產(chǎn)生成功的測(cè)試
    發(fā)表于 04-21 11:39 ?5137次閱讀

    全面提升自動(dòng)化測(cè)試,NI TestStand 2012新模塊框架

    NI TestStand 2012采用全新的模塊框架,能夠簡(jiǎn)化自動(dòng)化測(cè)試開(kāi)發(fā)和報(bào)告生成。
    發(fā)表于 11-06 17:42 ?1835次閱讀

    基于Web的自動(dòng)化測(cè)試框架的研究

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

    Python自動(dòng)化測(cè)試框架有哪些?

    開(kāi)發(fā)者萬(wàn)分高興的是,開(kāi)發(fā)自己的測(cè)試框架的日子終于結(jié)束了。以前,開(kāi)發(fā)團(tuán)隊(duì)接手一個(gè)項(xiàng)目并開(kāi)始開(kāi)發(fā)時(shí)
    的頭像 發(fā)表于 07-28 09:06 ?4795次閱讀

    什么是自動(dòng)化測(cè)試框架?

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

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

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

    自動(dòng)化測(cè)試框架unittes詳解

    測(cè)試框架,不妨“軟為硬用”。這里就基于python的自動(dòng)化測(cè)試框架unittest來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的自動(dòng)
    的頭像 發(fā)表于 05-20 14:47 ?3120次閱讀

    什么是自動(dòng)化測(cè)試框架

    自動(dòng)化測(cè)試框架,即是應(yīng)用于自動(dòng)化測(cè)試所用的框架。按照框架
    發(fā)表于 04-18 14:44 ?1060次閱讀