• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 测试框架
2### 介绍
3本示例展示测试框架中白盒性能测试框架的使用示例。
4
5测试框架arkxtest的详细介绍请[参考](https://docs.openharmony.cn/pages/v5.1/zh-cn/application-dev/application-test/arkxtest-guidelines.md)6
7本实例需要引入PerfTest接口[@ohos.test.PerfTest](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-test-kit/js-apis-perftest.md)8
9### 效果预览
10不涉及
11
12使用说明
13- 将perftest目录下的项目工程整体导入到DevEco Studio开发工具中。
14- 查看ohosTest目录下的测试代码实现。
15- 在DevEco Studio中执行测试用例代码查看执行效果,执行方式请[参考](https://gitcode.com/openharmony/docs/blob/master/zh-cn/application-dev/application-test/arkxtest-guidelines.md)
16
17### 工程目录
18
19```
20perfTest
21|-----entry
22          |-----src/main/pages
23                |-----index.ets                         // 页面组件
24          |-----ohosTest                                // 自动化测试用例
25                |-----ets/test
26                      |-----PerfTest.test.ets        // 自动化测试脚本,其中it()就是一个测试用例
27|-----AppScope
28          |-----app.json5                               // 定义应用唯一的包名:"bundleName": "com.samples.test.perftest",
29```
30 须知
31
32* 前提:引入PerfTest依赖:import { PerfMetric, PerfTest, PerfTestStrategy, PerfMeasureResult } from '@ohos.test.PerfTest';
33
34### 具体实现
35
36#### PerfTest测试框架示例内容
37* 1)测试函数执行期间的应用性能。
38* 2)在ohosTest的test/PerfTest.test.ets中it()定义一条测试用例,支持三个参数:用例名称,过滤参数和用例函数。用例操作的行为以异步的形式编写。
39* 3)指定唯一的ability即entry:通过want()中指定bundleName和abilityName:EntryAbility。
40* 4)启动指定ability(相当于手动运行hap):通过abilityDelegatorRegistry.getAbilityDelegator.startAbility(want)。
41* 5)获取当前应用最顶层的ability对象:通过abilityDelegatorRegistry.getAbilityDelegator.getCurrentTopAbility().then((ability)=>{}) 。
42* 6)引入PerfTest类作为白盒性能测试框架的总入口,提供基于代码段的白盒性能测试能力。
43* 7)断言性能指标测试数据是否符合预期。
44* 8)结束事件done()。
45
46
47### 相关权限
48不涉及
49
50### 依赖
51不涉及
52
53### 约束与限制
541.本示例仅支持标准系统上运行。
55
562.本示例从API version 20版本SDK起开始支持,SDK版本号(API Version 20),镜像版本号6.0.0.37)。
57
58### 下载
59
60如需单独下载本工程,执行如下命令:
61
62```
63git init
64git config core.sparsecheckout true
65echo code/Project/Test/perftest > .git/info/sparse-checkout
66git remote add origin https://gitee.com/openharmony/applications_app_samples.git
67git pull origin master
68```