IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> HJSUnit测试框架 -> 正文阅读

[开发测试]HJSUnit测试框架

1 开始

1.1环境准备

? ? ? ? DevEco Studio IDE

1.2安装环境要求

? ? ? ? 在配置环境的时候请参考:搭建DevEco Studio环境介绍DecEvo签名应用

2.测试股框架概述

2.1测试框架概述

? ? ? ? HJSUnit测试框架支持使用javascript语言编写测试用例,对鸿蒙APP(特指基于ACE框架使用javascript语言开发的APP,包含轻量化鸿蒙APP以及双框架下的鸿蒙APP)进行自动化测试,测试框架的能力包括:

  • 对页面逻辑层的API进行测试
  • 对页面UI跳转逻辑进行测试
  • 对js framework进行测试

2.2测试框架运行机制

? ? ? ? 框架支持的测试包为.hap,即用户在鸿蒙源码环境或者IDE下将测试代码编译打包成标准的hap包,然后在安装到设备上运行测试用例。测试用例的执行使用aa命令行工具,支持传入多种参数来实现用例的筛选,如执行单条用例、执行特定测试类型的用例等。

Positive:HJSUnit 测试命令行格式:hdc shell aa start -p${BUILDE_NAME} -n

ohos.testkit.runner.EntryAbility -s unittest ohos.testkit.runner.Runner

aa 命令将测试hap包拉起,并启动测试执行。测试框架、测试用例和被测对象共进程运行。runner还负责测试用例执行结果从应用进程回传到aa命令控制台并打印出来。

? ? ? ? 具体的执行流程参考:https://blog.csdn.net/nanzhanfei/article/details/119716039?spm=1001.2014.3001.5501

2.3测试框架执行流程

关键步骤描述:

  • 启动index.js入口文件
  • 新建核心core流程模块,创建核心服务,注册核心事件
  • 初始化核心服务,将核心服务需要暴露出来的函数设置为全局函数,供测试用例使用
  • 引用所有测试用例,将所有测试套和用例缓存到核心服务中
  • 执行核心服务execute方法,循环嵌套执行所有的测试套和测试用例
  • 标记测试用例执行开始和结束事件,开始和结束时发送event事件给核心流程,报告测试结果
  • 报告服务获取用例执行开始和结束信息,生成报告,在控制台中打印执行结果

2.4工程结构图

? ? ? ? 1.首先在IDE里的导航栏点击build->Build Hap->Build Hap这里,将会编译出一个hap包

? ? ? ? ?2.编译出来的hap将会存放在

? ? ? ? ?3.程序将会进入到index.js ->List.unit.js->具体的用例

?3.用例语法

????????测试用例采用jasmine的标准语法,describe代表一个测试套,it代表一条用例,describe支持多层嵌套。

3.1语法说明:

  • describe:定义一个测试套,支持两个参数:测试套名称和测试套函数;describe支持嵌套,每个describe内均可以定义beforeAll,beforeEach,afterEach和afterAll。
  • beforeAll:在测试套内定义一个预置条件,在所有测试用例开始之前执行且只执行一次,支持一个参数:预置动作函数
  • beforeEach:在测试套内定义一个单元预置条件,在每条测试用例开始前执行,执行次数与it定义的测试用例数一致,支持一个参数:清理动作函数
  • afterAll:在测试套内定义一个清理条件,在所有的测试用例结束后执行且只执行一次,支持一个参数:清理动作函数
  • it:定义一条测试用例,支持三个参数:用例名称,过滤参数和用例函数
  • expect:支持bool类型判断等多种断言方法

3.2用例demo

import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
import systemparameter from '@ohos.systemParameter'
describe('SystemParameterTest', function () {
    console.info('SystemParameterTest start################################start');

    /**
     * @tc.number    SUB_STARTUP_JS_SYSTEM_PARAMETER_0100
     * @tc.name      testSet0100
     * @tc.desc      Set the value for the given key with parameter callback.
     */
    it('system_parameter_test_0100', 0, async function (done) {
        console.info('system_parameter_test_0100 start');
        let ret = false;
        try {
            systemparameter.set('hw_sc.build.os.version', '10.20.30.4', function (date, err) {
                if (err == undefined) {
                    ret = true;
                    console.info('system_parameter_test_0100 set callback hw_sc.build.os.version value success :'
                    + data);
                } else {
                    console.info('system_parameter_test_0100 set callback hw_sc.build.os.version value err:'
                    + err.code);
                }
            });
            done();
        } catch (e) {
            console.info('system_parameter_test_0100 set callback hw_sc.build.os.version unexpect err:' + e);
        }
        setTimeout(function(){
            expect(ret).assertTrue();
        }, '1000');
        console.info('system_parameter_test_0100 : end');
    })

}

4.测试常用断言表

????????

?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 11:09:24  更:2021-09-10 11:10:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 2:01:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码