# scriptbuildtools **Repository Path**: Ap680502/scriptbuildtools ## Basic Information - **Project Name**: scriptbuildtools - **Description**: 为支撑OpenHarmony操作系统的性能以及功能脚本的生成,我们向用户提供了符合功能需求并且可靠、易用的脚本生成工具。支持开发者针对应用进行相应的图片、控件信息采集以及功能、性能测试。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-14 - **Last Updated**: 2023-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 脚本生成工具使用指导 ## 概述 为支撑OpenHarmony操作系统的性能以及功能脚本的生成,我们向用户提供了符合功能需求并且可靠、易用的脚本生成工具。支持开发者针对应用进行相应的图片、控件信息采集以及功能、性能测试。 ## 简介 脚本生成工具是一款基于OpenHarmony系统开发的生成脚本工具,操作简单易用,可提供包括图片、控件断言、性能、功能测试以及python、ts脚本的生成,包括提供应用当前界面的inspector树。 ## 约束与限制 | uitest版本 | 支持能力 | |:---------:|:-------------:| | 3.2.4.0以后 | 支持记录离手速度和滑动步长 | | 3.2.5.0以后 | 支持控件级录制 | ## 环境准备 ### hdc配置 从每日构建的CI网站 (http://ci.openharmony.cn/dailys/dailybuilds)
获取hdc,并配置到环境变量。
![](figures/ScriptBuildTools/Scriptbuild-CI.PNG)
配置到环境变量如下图。
![](figures/ScriptBuildTools/Scriptbuild-hdc.PNG) ### 安装JDK1.8以上版本 配置JDK系统环境变量,教程可参考(https://blog.csdn.net/Marvin_996_ICU/article/details/106240065)
![](figures/ScriptBuildTools/Scriptbuild-java.PNG) ### 烧录镜像 进入cmd,使用命令查看版本号。
``` hdc shell uitest --version ``` ![](figures/ScriptBuildTools/Scriptbuild-uitest.PNG) ### 开启ArkUI调试开关 使用前需要先打开ArkUI调试开关,重启后生效。 ``` hdc shell param set persist.ace.testmode.enabled 1 hdc shell param set persist.ace.debug.enabled 1 hdc shell reboot ``` ![](figures/ScriptBuildTools/Scriptbuild-ArkUI.PNG) ## 操作说明 ### 运行GUI界面 双击Test.jar或使用命令启动脚本生成工具界面。 ``` java -jar Test.jar ``` ![](figures/ScriptBuildTools/Scriptbuild-java-jar.PNG) ### 开始录制 点击“开始录制”按键后,看到"Started Recording Successfully..."后即可开始录制用户操作,
![](figures/ScriptBuildTools/Scriptbuild-start.PNG) 工具左侧界面会生成相应的用户动作记录。
![](figures/ScriptBuildTools/Scriptbuild-content.PNG) 支持识别的动作包括: | 支持的动作 | |:-------------------------------------:| | click 点击 | | doubleClick 双击 | | longClick 长按 | | drag 拖拽 | | swipe 滑动 | | fling 抛滑 | | 手势导航
(back 返回、Home 桌面、Recent 最近任务) | ### 添加注释 在每次操作后都可自行添加相应的注释来标注此操作为何种操作/操作的目的等
![](figures/ScriptBuildTools/Scriptbuild-notes.PNG) ### 添加断言 Python脚本支持添加控件断言或图片断言;TS脚本仅支持控件断言; 在需要添加断言的应用界面,点击“添加断言”按钮,具体操作如下。
![](figures/ScriptBuildTools/Scriptbuild-addAssert.PNG) ### 清除断言 如果错误添加了断言,可以点击清除断言,清除上一条断言。
![](figures/ScriptBuildTools/Scriptbuild-cleanAssert.PNG) ### 结束并生成脚本 点击“结束并生成脚本”结束录制;可以自定义脚本保存的路径、脚本类名、脚本类型;默认输出路径为:D:\testPath,默认类名TestOH。
![](figures/ScriptBuildTools/Scriptbuild-save.PNG) 性能测试和功能测试的区别。 | 测试类型 | 测试类型含义 | |:----:|:----------------:| | 性能测试 | 通过坐标注入点击事件 | | 功能测试 | 可以直接查找控件再进行相应的操作 | 在自定义文件夹下,生成的文件分别为:
![](figures/ScriptBuildTools/Scriptbuild-userDefined.PNG) ## 脚本的使用 ### py脚本使用 脚本运行方式包括两种,意识但脚本运行,另外一种是多脚本运行。
- 单脚本运行
- 新建main.py脚本,用于作为程序入口,拉起xDevice框架执行测试任务。
main.py的内容如下
![](figures/ScriptBuildTools/Scriptbuild-PY-main.PNG)
配置启动参数为:run -l "测试用例的名称";配置步骤如下 ``` run -l "TestOH" ``` - pycharm中新建启动项
![](figures/ScriptBuildTools/Scriptbuild-PY-edit.PNG) - 配置参数,点击确认
![](figures/ScriptBuildTools/Scriptbuild-PY-param.PNG)
- 最后点击pycharm中的运行即可
![](figures/ScriptBuildTools/Scriptbuild-PY-triangel.PNG)
- 多脚本运行
有两种方法可以执行多条测试用例
- 1、用 run -l 命令,多个测试用例用分号进行分割。 ``` run -l Test1;Test2;Test3; ``` - 2、定义测试套,运行某个文件夹下的所有测试用例,run xxx,如 run a
- 定义测试套名字:如a,在工程目录的config文件夹下新建a.json文件,内容如无特殊情况,默认为以下内容; ![](figures/ScriptBuildTools/Scriptbuild-PY-descript.PNG)
![](figures/ScriptBuildTools/Scriptbuild-PY-json.PNG)
- 新建测试套文件夹a,如在工程的testcase目录下新建a文件夹
![](figures/ScriptBuildTools/Scriptbuild-PY-test.PNG)
- 修改user_config.xml文件中的testcase标签中的dir标签,添加A文件夹测目录地址;
![](figures/ScriptBuildTools/Scriptbuild-PY-testcases.PNG)
详情可参考 [xdevice组件的使用](https://gitee.com/openharmony/testfwk_xdevice/blob/master/README_zh.md#%E4%BD%BF%E7%94%A8) ### ts脚本使用 配置步骤如下 - DevEco Studio中新建Hvigor工程
![](figures/ScriptBuildTools/Scriptbuild-TS-edit.PNG)
![](figures/ScriptBuildTools/Scriptbuild-TS-hvigor.PNG)
- 配置参数,点击确认。
在Application parameters一栏中配置:hvigor assembleHap -m module -p module=entry@ohosTest -d; ``` hvigor assembleHap -m module -p module=entry@ohosTest -d ``` - 将生成的Ts脚本放入DevEco Studio工具中的ohosTest/ets/test目录下:
![](figures/ScriptBuildTools/Scriptbuild-TS-test.PNG)
打开List.test.ets修改import testOH from './TestOH':
![](figures/ScriptBuildTools/Scriptbuild-TS-import.PNG)
- 点击DevEco Studio中的运行
在build/default/outputs/ohosTest目录下生成entry-ohosTest-signed.hap测试用例包。
![](figures/ScriptBuildTools/Scriptbuild-TS-triangel.PNG)
![](figures/ScriptBuildTools/Scriptbuild-TS-hap.PNG)
- 将生成的entry-ohosTest-signed.hap包与测试用例脚本放置同一目录下,双击运行脚本即可。
![](figures/ScriptBuildTools/Scriptbuild-TS-ohosTest.PNG)
测试用例脚本代码内容如下 ``` hdc shell hilog -r hdc shell hilog -Q pidoff hdc shell bm uninstall -n "hap包的bundlename" hdc file send D:\ohos\entry-ohosTest-signed.hap /data/local/ hdc shell bm install -p /data/local/entry-ohosTest-signed.hap hdc shell as test -p com.example.openharmonycomponents_test -b com.example.openharmonycomponents -s unittest OpenHarmonyTestRunner -s timeout 1500000 pause ```