GHOST系统之家 - Windows系统光盘下载网站!
当前位置:GHOST系统之家>系统教程 > OpenHarmony自动化测试框架开发指南

OpenHarmony自动化测试框架开发指南

来源:Ghost系统之家浏览:时间:2023-05-09 10:19:14

想了解更多关于开源的内容,请访问:

51CTO开源基础软件社区

https://ost.51cto.com

概述

OpenHarmony自动化测试框架是OpenHarmony提供的支持JS/TS语言的单元及UI测试框架,支持开发者针对应用接口或系统接口进行单元测试,并且可基于UI操作进行UI自动化脚本的编写。

OpenHarmony自动化测试框架重要分为两大部分:单元测试框架和UI测试框架。

单元测试框架是测试框架的基础底座,提供了最基本的用例识别、调度、执行及结果汇总的能力。UI测试框架主要调用提供的UiTest API对不同测试场景进行测试,而其脚本的运行基础还是单元测试框架。

从代码的角度体现为,每个OpenHarmony工程在新建时都会提供一个ohosTest模块,包含基础的单元测试运行脚本,如下图所示:

【小源笔记】第九期

其中各文件间的大致关系如下图所示:

【小源笔记】第九期

单元测试脚本的基础运行流程如下图所示,依赖aa test命令作为执行入口(可结合上述代码中的关系图进行对比)。

【小源笔记】第九期

开发步骤

(可选)新建测试脚本

在工程目录下打开待测试模块下的ets文件,将光标置于代码中任意位置,单击右键 > Show Context Actions> Create Ohos Test或快捷键Alt+enter> Create Ohos Test创建测试类,如下图所示。

【小源笔记】第九期

【小源笔记】第九期

完成后自动生成一个测试脚本。

【小源笔记】第九期

编写单元测试脚本

import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'import abilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'const delegator = abilityDelegatorRegistry.getAbilityDelegator()export default function abilityTest() {describe('ActsAbilityTest', function () {it('testUiExample',0, async function (done) {console.info("uitest: TestUiExample begin");//start tested abilityawait delegator.executeShellCommand('aa start -b com.ohos.uitest -a MainAbility').then(result =>{console.info('Uitest, start ability finished:' + result)}).catch(err => {console.info('Uitest, start ability failed: ' + err)})await sleep(1000);//check top display abilityawait delegator.getCurrentTopAbility().then((Ability)=>{console.info("get top ability");expect(Ability.context.abilityInfo.name).assertEqual('MainAbility');})done();})function sleep(time) {return new Promise((resolve) => setTimeout(resolve, time));}})}

单元测试脚本需要包含如下基本元素:

1、依赖导包,以便使用依赖的测试接口。

2、测试代码编写,主要编写测试代码的相关逻辑,如接口调用等。

3、断言接口调用,设置测试代码中的检查点,如无检查点,则不可认为一个完整的测试脚本。

编写UI测试脚本

UI测试脚本是在单元测试框架的基础上编写,主要就是增加了UI测试框架提供的接口调用,实现对应的测试逻辑。

下面的示例代码是在上面的测试脚本基础上增量编写,首先需要增加依赖导包,如下示例代码所示:

import {Driver,ON,Component,MatchPattern} from '@ohos.uitest'

然后是具体测试代码编写,场景较为简单,就是在启动的应用页面上进行点击操作,然后增加检查点检查用例。

export default function abilityTest() {describe('ActsAbilityTest', function () {it('testUiExample',0, async function (done) {console.info("uitest: TestUiExample begin");//start tested abilityawait delegator.executeShellCommand('aa start -b com.ohos.uitest -a MainAbility').then(result =>{console.info('Uitest, start ability finished:' + result)}).catch(err => {console.info('Uitest, start ability failed: ' + err)})await sleep(1000);//check top display abilityawait delegator.getCurrentTopAbility().then((Ability)=>{console.info("get top ability");expect(Ability.context.abilityInfo.name).assertEqual('MainAbility');})//ui test code//init drivervar driver = await Driver.create();await driver.delayMs(1000);//find button by text 'Next'var button = await driver.findComponent(ON.text('Next'));//click buttonawait button.click();await driver.delayMs(1000);//check textawait driver.assertComponentExist(ON.text('after click'));await driver.pressBack();done();})function sleep(time) {return new Promise((resolve) => setTimeout(resolve, time));}})}

执行测试脚本

执行测试脚本可以直接在DevEco Studio中通过点击按钮执行,当前支持以下执行方式:

1、测试包级别执行即执行测试包内的全部用例。

2、测试套级别执行即执行describe方法中定义的全部测试用例。

3、测试方法级别执行即执行指定it方法也就是单条测试用例。

【小源笔记】第九期

其中测试包内的全部测试用例运行任务可按如下步骤创建。

【小源笔记】第九期

【小源笔记】第九期

【小源笔记】第九期

查看测试结果

测试执行完毕后可直接在DevEco Studio中查看测试结果,如下图示例所示:

【小源笔记】第九期

想了解更多关于开源的内容,请访问:

51CTO开源基础软件社区

https://ost.51cto.com

推荐系统

  • 电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载

    电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载

    语言:中文版系统大小:2.98GB系统类型:Win8

    电脑公司Ghost Win8.1x32位纯净版V2022年7月版本集成了自2022流行的各种硬件驱动,首次进入系统即全部硬件已安装完毕。电脑公司Ghost Win8.1x32位纯净版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,精心挑选的系统维护工具,加上绿茶独有

  • 微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载

    微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载

    语言:中文版系统大小:5.13GB系统类型:Win11

    微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化  1、保留 Edge浏览器。  2、隐藏“操作中心”托盘图标。  3、保留常用组件(微软商店,计算器,图片查看器等)。  5、关闭天气资讯。 

  • Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载

    Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载

    语言:中文版系统大小:4.75GB系统类型:Win11

    Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件

  • windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化

  • 微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载

  • 微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    语言:中文版系统大小:0MB系统类型:Win11

    微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为

  • 雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    语言:中文版系统大小:4.75GB系统类型:

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统

  • 雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    语言:中文版系统大小:5.91GB系统类型:Win7

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户