涛声依旧在 发表于 2024-8-26 23:20:27

[HarmonyOS Next示例代码]测试框架(UiTest接口)

UiTest: 本示例展示测试框架中UI测试框架的使用示例。

HarmonyOS next 示例代码全集

测试框架

先容

本示例展示测试框架中UI测试框架的使用示例。
本实例必要引入UiTest接口@ohos.UiTest。
如需日志打印调试,必要引入日志打印接口@ohos.hilog。
效果预览

不涉及
使用说明


[*]将uitest目录下的项目工程整体导入到DevEco Studio开辟工具中。
[*]查看ohostest目录下的测试代码实现。
[*]在DevEco Studio中实行测试用例代码查看实行效果,实行方式请参考官网的测试框架。
[*]本工程实行测试用例代码的结果,根据实际开辟设备不同会有变动。请根据具体的开辟设备修改代码中对应参数。
工程目录

├──entry/src/main/ets                           // 代码区
│├──clickability
││└──ClickAbility.ets                         // 点击入口类
│├──dragability
││└──DragAbility.ets                        // 拖拽入口类
│├──entryability
││└──EntryAbility.ets                         // 主程序入口类
│├──flingability
││└──FlingAbility.ets                         // 惯性滚动入口类
│├──inputability
││└──InputAbility.ets                         // 输入入口类
│├──mouseability
││└──MouseAbility.ets                         // 鼠标入口类
│├──pages
││├──Click.ets                              // 点击页面
││├──Drag.ets                                 // 拖拽页面
││├──Fling.ets                              // 惯性滚动页面
││├──Fourth.ets                               // 第四页面
││├──Index.ets                              // 首页页面
││├──Input.ets                              // 输入页面
││├──Mouse.ets                              // 鼠标页面
││├──Pinch.ets                              // 捏合页面
││├──Scroller.ets                           // 滑动页面
││├──Swipe.ets                              // 滑块页面
││└──Third.ets                              // 第三页面
│├──pinchability
││└──PinchAbility.ets                         // 捏合入口类
│├──pointmatrixability
││└──PointMatrixAbility.ets                   // 矩阵入口类
│├──scrollerability
││└──ScrollerAbility.ets                      // 滑动入口类
│├──swipeAbility
││└──SwipeAbility.ets                         // 滑块入口类
│└──util
│   └──Logger.ets                               // 日志工具类
├──entry/src/main/resources                     // 应用资源目录
├──entry/src/ohosTest/ets                         // 代码区
│├──test
││├──BasicExampleTest                        
│││└──BasicExample.test.ets               // 基础自动化测试脚本
││├──findCommentExampleTest                        
│││├──component
││││└──FindCommentExample.test.ets      // 寻找组件自动化脚本
│││└──window
│││   └──FindWindowExample.test.ets         // 寻找窗口自动化脚本
││├──operationExampleTest                        
│││├──ui
││││├──ClickEvent.test.ets                // 点击事件自动化脚本
││││├──FlingEvent.test.ets                // 惯性滚动事件自动化脚本
││││├──InputEvent.test.ets                // 输入事件自动化脚本
││││├──MouseEvent.test.ets                // 点击事件自动化脚本
││││├──PinchEvent.test.ets                // 捏合事件自动化脚本
││││├──PointMatrixEvent.test.ets          // 矩阵事件自动化脚本
││││├──ScreenCapEvent.test.ets            // 捕获屏幕事件自动化脚本
││││├──ScrollerEvent.test.ets             // 滑动事件自动化脚本
││││└──ScrollerEvent.test.ets             // 滑块事件自动化脚本
│││└──window
│││   ├──MoveToEvent.test.ets               // 移动事件自动化脚本
│││   ├──ReSizeWindow.test.ets            // 窗口大小自动化脚本
│││   └──WindowAttr.test.ets                // 获取窗口自动化脚本
││└──List.test.ets                            // 测试脚本列表
│├──testability
││├──pages
│││└──Index.ets                           // 首页页面
││└──TestAbility.ets   
│├──testrunner                     
││└──OpenHarmonyTestRunner.ets
│└──util                     
│   └──Logger.ts                              // 日志工具类
└──entry/src/ohosTest/resources                   // 应用资源目录 须知


[*]前提:引入UiTest依赖:import {Driver,ON,Component,Uiwindow,MatchPattern} from '@ohos.UiTest'
1、On类提供的接口全部是同步接口,使用者可以使用builder模式链式调用其接口构造控件筛选条件。
2、Driver和Component类提供的接口全部是异步接口(Promise情势),需使用await语法。
3、Ui测试用例均需使用异步语法编写用例,需遵照单元测试框架异步用例编写规范。
具体实现

uitestUI测试框架示例内容



[*]1)在entry的index.ets中放页面组件。
[*]2)在ohosTest的test/basicExample.test.ets中it()界说一条测试用例,支持三个参数:用例名称,过滤参数和用例函数。用例操作的行为以异步的情势编写。
[*]3)指定唯一的ability即entry:通过want()中指定bundleName和abilityName:EntryAbility。
[*]4)启动指定ability(相称于手动运行hap):通过abilityDelegatorRegistry.getAbilityDelegator.startAbility(want)。
[*]5)获取当前应用最顶层的ability对象:通过abilityDelegatorRegistry.getAbilityDelegator.getCurrentTopAbility().then((ability)=>{}) 。
[*]6)引入Driver类作为UiTest测试框架的总入口,提供查找控件,定时器,断言,单机back键等本事。
[*]7)在第5步.then()中参加必要测试内容 :

[*]比方本案例中必要检验是否可以有back键本事:通过driver.pressBack()。
[*]检验是否可以定时1s后实行本事:通过driver.delayMs(1000)。
[*]日志打印:建议用例名称中的包名和日志中的包名单独用常量表示,方便包名变动整改,比方:hilog.info(DOMAIN, TAG, BUNDLE + "StartAbility_001, begin")。

[*]8)竣事事件done();
相干权限

不涉及
依赖

不涉及
束缚与限制

1.本示例仅支持标准体系上运行,支持设备:华为手机。
2.HarmonyOS体系:HarmonyOS NEXT Developer Beta1及以上。
3.DevEco Studio版本:DevEco Studio NEXT Developer Beta1及以上。
4.HarmonyOS SDK版本:HarmonyOS NEXT Developer Beta1 SDK及以上。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: [HarmonyOS Next示例代码]测试框架(UiTest接口)