# openharmony_evaluate **Repository Path**: kunyuan-hongke/openharmonyevaluate ## Basic Information - **Project Name**: openharmony_evaluate - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2024-07-22 - **Last Updated**: 2025-04-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenHarmony开发板测评平台 # 背景介绍 随着OpenHarmony操作系统的广泛应用,搭载OpenHarmony标准系统的硬件平台越来越多。然而,目前尚缺乏一个统一的开发板测评工具,用以全面、客观地展示各设备的性能和稳定性表现。为了填补这一空白,我们开发了这款测试软件。该软件旨在为开发者、测试人员以及消费者提供一个便捷、可靠评估手段,从而推动OpenHarmony生态的高质量发展。 # 软件介绍 ## 工程目录 ```shell ├───entry │ └───src │ └───main │ ├───ets │ │ ├───data │ │ │ │ Repository.ets // 数据仓库,目前为模拟数据 │ │ │ │ TestData.ets // 测试描述信息类 │ │ │ │ TestStatus.ets // 测试执行结果类 │ │ │ │ TestType.ts // 测试类型枚举 │ │ │ │ │ │ │ └───mock // 模拟数据 │ │ │ CpuArgsProductTest.json │ │ │ CpuBasicTest.json │ │ │ CpuBenchmarkTest.json │ │ │ CpuMapTest.json │ │ │ CpuMultipleRangesTest.json │ │ │ GpuGlmark2Test.json │ │ │ MediaJpgDecodeTest.json │ │ │ MediaPngDecodeTest.json │ │ │ MediaWebpDecodeTest.json │ │ │ MemRomRandReadTest.json │ │ │ MemRomRandWriteTest.json │ │ │ MemRomSeqReadTest.json │ │ │ MemRomSeqWriteTest.json │ │ │ Mock.ets // 指定要测试的json文件 │ │ │ StabilityTest.json │ │ │ UxFpsAndDrcTest.json │ │ │ UxInstallTest.json │ │ │ UxJsonTest.json │ │ │ UxStartAbilityTest.json │ │ │ UxXmlTest.json │ │ │ │ │ ├───entryability │ │ │ EntryAbility.ets // 入口类 │ │ │ │ │ ├───executor │ │ │ ExecuteCallback.ets // 执行器回调抽象类 │ │ │ Executor.ets // 执行器,用于控制整个测试流程 │ │ │ │ │ ├───helper │ │ │ CrashWatcher.ets // 崩溃查询工具类 │ │ │ FileHelper.ts // 文件处理工具类 │ │ │ GlobalThis.ts // 全局变量操作类 │ │ │ HandleData.ts // 数据处理工具类 │ │ │ ImageHelper.ts // 图片处理工具类 │ │ │ JSONHelper.ts // JSON处理工具类 │ │ │ Logger.ts // 日志类 │ │ │ MIssionHelper.ets // 任务处理工具类 │ │ │ PerssionUtils.ts // 权限工具类 │ │ │ Profile.ts // 全局变量定义 │ │ │ Shell.ets // worker封装 │ │ │ TimeUtils.ts // 计时工具类 │ │ │ XMLHelper.ts // XML处理工具类 │ │ │ │ │ ├───model │ │ │ TestModel.ets │ │ │ │ │ ├───pages │ │ │ DetailsItem.ets // 得分详细组件 │ │ │ DetailsPage.ets // 测评结果得分详细页 │ │ │ Index.ets // 首页 │ │ │ RunPage.ets // 测评过程页 │ │ │ SettingPage.ets // 设置页 │ │ │ TestPage.ets // 验证新方法测试页 │ │ │ Title.ets // 标题栏组件 │ │ │ WindowPage.ets // 稳定性小窗组件 │ │ │ │ │ ├───test │ │ │ BaseTest.ets // 测试类基类 │ │ │ CpuArgsProductTest.ets // CpuArgsProduct测试类 │ │ │ CpuBasicTest.ets // CpuBasic测试类 │ │ │ CpuBenchmarkTest.ets // CpuBenchmark测试类 │ │ │ CpuMapTest.ets // CpuMap测试类 │ │ │ CpuMultipleRangesTest.ets // CpuMultipleRanges测试类 │ │ │ Factory.ets // 测试类生成工厂类 │ │ │ GpuGlmark2Test.ets // GpuGlmark2Test测试类(待实现) │ │ │ ITest.ets // 回调Test抽象类 │ │ │ MediaJpgDecodeTest.ets // JPG编解码耗时测试类 │ │ │ MediaPngDecodeTest.ets // PNG编解码耗时测试类 │ │ │ MediaWebpDecodeTest.ets // WEBP编解码耗时测试类 │ │ │ MemRomRandReadTest.ets // Rom随机读测试类 │ │ │ MemRomRandWriteTest.ets // Rom随机写测试类 │ │ │ MemRomSeqReadTest.ets // Rom顺序读测试类 │ │ │ MemRomSeqWriteTest.ets // Rom顺序写测试类 │ │ │ StabilityTest.ets // 稳定性测试类 │ │ │ UxFpsAndDrcTest.ets // 帧率与掉帧测试类 │ │ │ UxInstallTest.ets // 安装应用耗时测试类 │ │ │ UxJsonTest.ets // JSON处理耗时测试类 │ │ │ UxStartAbilityTest.ets // 拉起应用耗时测试类 │ │ │ UxXmlTest.ets // XML处理耗时测试类 │ │ │ │ │ └───worker │ │ ShellWorker.ets // worker类 │ │ │ └───resources │ └───rawfile │ args_product_test_arm32 // arm32位CpuArgsProductTest二进制文件 │ args_product_test_arm64 // arm64位CpuArgsProductTest二进制文件 │ basic_test_arm32 // arm32位CpuBasicTest二进制文件 │ basic_test_arm64 // arm64位CpuBasicTest二进制文件 │ benchmark_test_arm32 // arm32位CpuBenchmarkTest二进制文件 │ benchmark_test_arm64 // arm64位CpuBenchmarkTest二进制文件 │ com_samples_grapesquare.hap // 应用安装耗时测试使用的hap文件 │ fio_arm64_linux32 // 32位ROM测试二进制文件 │ fio_arm64_linux64 // 64位ROM测试二进制文件 │ map_test_arm32 // arm32位CpuMapTest二进制文件 │ map_test_arm64 // arm64位CpuMapTest二进制文件 │ multiple_ranges_test_arm32 // arm32位CpuMultipleRangesTest二进制文件 │ multiple_ranges_test_arm64 // arm64位CpuMultipleRangesTest二进制文件 │ test.jpg // JPG编解码耗时测试使用的jpg文件 │ test.png // PNG编解码耗时测试使用的png文件 │ test.webp // WEBP编解码耗时测试使用的webp文件 │ └───UXTestPage └───src └───main └───ets ├───helper │ FpsUtil.ts // 帧率与掉帧统计工具类 │ TouchHelper.ts // 模拟触摸工具类 │ ├───pages │ Index.ets // 首页(FeatureModule,被帧率测试类拉起) │ ├───UXBasicClass │ BaseMsg.ets // 定义数据类型 │ BasicDataSource.ets // 懒加载基本数据资源 │ DataFactory.ets // 构造数据方法 │ MockData.ets // 模拟数据 │ TrendsDataSource.ets // 主页动态数据资源类 │ └───uxtestpageability UXTestPageAbility.ets // FeatureModule入口类 ``` ## 已实现测试功能 * CPU性能测试:通过运行复杂算法,全面评估处理器性能,包括处理速度和效率。 * ROM性能测试:对设备的ROM进行随机读写和顺序读写测试,以测量存储速度和数据访问效率。 * 界面流畅度测试:检测页面滑动时的帧率以及是否存在掉帧现象,以评估用户界面的流畅度。 * 应用安装与启动测试:准确记录安装和启动应用所需要的时间,以衡量系统效率。 * 数据处理效率测试:对JSON和XML格式数据进行处理,并计算耗时,以评估数据处理能力。 * 应用稳定性测试:利用wukong提供的稳定性测试能力,多次随机打开应用测试系统的稳定性和可靠性。 * 图像编解码测试:对JPG、PNG、WEBP格式的图像进行编解码操作,并记录耗时,以评价图像处理性能。 ## 待实现测试功能 * GPU性能测试:计划通过运行图形处理密集型任务来评估设备的GPU性能。 * RAM性能测试:旨在通过特定的内存操作测试,来衡量设备RAM的速度和效率。 ## 注意事项 * 本应用使用的API需要系统应用权限 * 需关闭selinux ## 整体设计架构 ![设计架构](assets/设计架构.png) ## 使用方法 ### 1.基础环境搭建 * DevEco版本4.1Release 4.1.0.400及以上版本,可在官网下载[https://developer.huawei.com/consumer/cn/download/](https://developer.huawei.com/consumer/cn/download/) * SDK版本FULL_SDK API 11 4.1.7.8及以后版本,可在每日构建上下载[https://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist](https://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist) * sdk需要修改配置文件位系统应用,修改SDK目录下的“Sdk/openharmony/\_{Version} \_/toolchains /lib/UnsgnedReleasedProfileTemplate.json”文件中apl为system_core,app-feature为hos\_system\_app (或直接使用signature目录下的p7b文件) ![image](assets/sdk_system_core.png) ### 2.打开项目 * 使用deveco打开项目,勾选自动签名 ![image](assets/deveco_signature.png) * 如果使用signature目录下的p7b文件,请勿勾选自动签名,在项目根目录build-profile.json5的signingConfigs中增加: ````json { "name": "default", "material": { "storePassword": "0000001603DBE67A8D62C8FF58CB88759393A88777330A0843AFDFDA7BFA5B23B0089D7C89F8", "certpath": "signature/OpenHarmony.cer", "keyAlias": "OpenHarmony Application Release", "keyPassword": "00000016C087D511DACD8A7EFF7AB4D5995DC5442CAC0883351B588CB422C783EBFA863E4537", "profile": "signature/OpenHarmonyEvaluate.p7b", "signAlg": "SHA256withECDSA", "storeFile": "signature/OpenHarmony.p12" } } ```` * 点击编辑配置,允许多Hap包部署,点击确定。 ![image](assets/deveco_edit_config.png)![image](assets/deveco_deploy_multi_hap.png) ### 3.安装调试 * 确保设备是Open Harmony4.1Release及以上版本,建议4.1.7.8以后版本。用数据线连接设备和pc,点击run,应用即可安装至设备。 # 实机演示 演示视频地址:[https://live.csdn.net/v/428249](https://live.csdn.net/v/428249) 演示截图: |首页|测试运行页|得分详细页|执行完成后首页|设置页| | ------------------------------------------------------------------------------| ----------------------------------------------------------------------------------| ------------------------------------------------------------------------------------------| ------------------------------------------------------------------------------------------| ----------------------------------------------------------------------------------| |​![首页](assets/首页.jpeg)​|​![运行页](assets/运行页.jpeg)​|​![得分详细页](assets/得分详细页.jpeg)​|​![得分后首页](assets/得分后首页.jpeg)​|​![设置页](assets/设置页.jpeg)​| ‍