百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

OpenHarmony小型系统兼容性测试指南

itomcoil 2025-02-20 15:56 5 浏览

基于 OpenHarmony 开源代码研发的设备和业务应用满足 OpenHarmony 开源兼容性定义的技术要求,完成兼容性测试。本文详细介绍基于小型系统兼容性测试过程,指导完成测试。

兼容性测试执行环境搭建

①安装 python

建议安装 python3.7 及以上版本,笔者使用的是 python3.8.3,官方下载链接:

https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe

第一步,安装文件 python-3.8.3.exe,可根据需求选择默认安装或自定义安装。笔者选择的是自定义安装。

第二步,选择要安装的软件工具类,点击 Next。

第三步,选择安装位置路径,并选择 install 安装。

第四步,等待安装完成。

第五步,检查是否安装成功。

打开 cmd,输入 python –V,若显示出 python 对应版本则表示安装成功。

②安装 pip

在 C 盘用户文件夹下新建 pip 文件夹,创建 pip.ini 文件。

打开 pip.ini 文件配置 pip 源,例如:

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

③安装 setuptools

在 cmd 中执行命令:

pip install setuptools

④安装 pyserial

在 cmd 中执行命令:

pip install pyserial

pyserial 版本大于等于 3.3。

⑤安装 rsa

在 cmd 中执行命令:

pip install rsa

rsa 版本大于等于 4.0。


小型系统兼容性测试

①测试组网?

小型系统设备通过串口、网口或者 WiFi 和测试 Windows/NFS 连接。

②NFS 服务器部署?

Windows 工作台部署 NFS:NFS 服务器是用来存储测试用例和测试脚本,通过 NFS 的方式挂载在被测设备上去执行测试用例。

下载并安装 haneWIN NFS 服务器;打开 haneWIN NFS 服务器,点击“编辑输出表文件”设置路径。

例如在 D 盘新建 work 文件夹,当作共享目录。路径设置为:

d:\work -public -alldirs -name:nfs

说明:exports 配置文件格式:共享目录路径,选项 1,选项 2,选项 n …

  • -name:指定 NFS 共享名称,如-name:share
  • -alldirs:标记允许子目录被作为挂载点
  • -public:允许公开

重启 NFS 服务器:关闭 haneWIN NFS 服务窗口,然后重启 NFS 服务。

重启方法:开始菜单“haneWIN 软件”的“重启所有服务”(用管理员权限)。


重启完成之中,打开 haneWIN NFS 服务器窗口,确认共享目录配置成功。

③被测设备 NFS 挂载

被测设备 IP 配置:Windows 工作台通过串口连接被测设备,命令行模式下输入 ifconfig,配置 IP 地址跟 Windows 工作台的 IP 地址在同一个网段。

配置方法,例如:

ifconfig eth0 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1


配置完 ping 一下 Windows 工作台的 IP 地址,ping 成功说明正常可用。

被测设备 NFS 挂载配置测试,在被测设备输入如下命令,无报错即挂载成功:

mkdir –p /nfs
mount -t nfs -o nolock,addr=xx.xx.196.233 xx.xx.196.233:/d/work /nfs


说明:xx.xx.196.233 为 NFS 服务器 IP 地址。

注意:如果 ping Windows 工作台的 IP 成功,但是挂载不成功,可以尝试禁用 Windows 防火墙。

Windows 工作台查看 NFS 挂载设备是否成功:在 haneWIN NFS 服务窗口,查看“挂载设备”下是否挂载成功。


兼容性测试套件编译

登录版本编译服务器,执行兼容性测试套件编译。

第一步,打开:

vendor{product_name}{product_name}\config.json

添加 XTS 子系统到编译组件中:

"subsystem": "test",
  "components": [
     { "component": "xts_acts", "features":[] },
     { "component": "xts_tools", "features":[] }
   ]
},

第二步,执行编译。

进入版本代码根目录,执行编译命令:

1.hb set 回车
2.选择对应产品
3. hb build --gn-args build_xts=true

第三步,查看编译结果。

在 out{product_name}{product_name}\suites 目录下生成兼容性测试套件,acts 即为编译出来的可执行测试文件。

兼容性测试套件执行

将编译出的可执行测试文件 acts 放到 Windows 目录下。

登录下面网站,选择对应版本分支下的小型系统,下载 resource 文件,拷贝到 acts 目录下。

https://gitee.com/openharmony-sig/compatibility/tree/master/test_suite/resource

说明:resource 是兼容性测试用例执行依赖的资源文件。

修改 acts\config\user_config.xml 的配置。配置小型系统设备(ipcamera)的 com 和 NfsServer 节点。

举例:NfsServer IP 为 10.61.196.233,port 为 2049,NFS 共享目录为 D:\work,串口是 COM7,波特率 115200。

配置如下图:

说明:打开 haneWIN NFS 服务器,可以查看 NFS 服务器端口。

在 Windows 工作台上进入测试套件目录 acts,直接执行 run.bat。

run.bat 界面启动后,输入测试用例执行指令。

方法一:全量执行:run acts

方法二:模块执行:run –l 模块名,例如:run –l ActsSamgrTest,等待执行完成。

查看兼容性测试报告

进入 acts\reports\,查看当前的执行记录,打开“summary_report.html”可以查看到测试报告。

summary_report.html 内容示例:

总结

本文详细介绍了小型系统兼容性测试的过程,包括环境搭建、配置、编译、执行,以及查看兼容性测试报告。

相关推荐

MySql安装与使用

介绍mysql是目前最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件...

使用AI来搭建一个用户系统,步骤应该是怎样的呢?

我给AI的第一个问题是这样的:创建一个java21+springboot3.4+mysql21的一个用户系统,需要使用JWT,支持多语言,使用swagger,这个用户系统都应该包含哪...

Mysql 8.4数据库安装、新建用户和数据库、表单

1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...

介绍如何在 MySQL 中创建新用户并授予权限?

MySQL是一个开源的关系型数据库管理系统,常用于存储和管理大量的结构化数据。在使用MySQL进行数据管理时,为了安全和方便管理,通常需要创建新用户并授予相应的权限。本文将介绍如何在MySQL...

Mysql创建用户和权限管理

MySQL是一个多用户的数据库,最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。如果有其他用户想使用MySQL,那么...

Mysql:创建用户详解

1、创建并授权用户--创建可从任何主机连接的用户CREATEUSER'myuser'@'%'IDENTIFIEDBY'mypassword'...

Python 实现【字符匹配】

defis_match(s,pattern):m,n=len(s),len(pattern)dp=[[False]*(n+1)for_inrange...

Python自动化:openpyxl工作簿、工作表相关操作

新建工作簿、工作表importopenpyxl#创建空白工作簿,会自动生成一个工作表:Sheetwb=openpyxl.Workbook()#新建工作表#create_sheet...

python每日一练之三数排序

概述今天主要分享一个三树排序的实例,大家可以自己测试玩一下~需求输入三个整数x,y,z,请把这三个数由小到大输出。方法一:如果是要练练手就随便找个排序算法实现一下#usr/bin/python#...

Python输出语句print()

Python中的输出语句主要通过内置函数print()实现,它可以灵活输出文本、变量、表达式结果等内容到控制台或其他文件。以下是详细介绍及示例:一、print()基本语法print(*object...

Python设置excel表格格式,这3个属性6个模块,要表格好看

前言:通过前面两篇文章,我们用Python处理excel数据得到了结果并保存了文件。打开文件会发现,文件里表格是没有设置格式的,还需手动调整行高列宽等样式,很麻烦。其实,通过Python库模块,能轻松...

python入门-day5-循环语句

以下是为“Day5:循环语句”设计的详细学习任务计划。这个任务旨在帮助初学者掌握Python中的循环语句(for和while),并通过实践理解它们的应用场景。Day5:循环语句学习目标...

Python基础编程必备!涵盖常见语法与操作的代码示例合集

以下是一份Python基础代码示例合集,涵盖了常见的语法和操作,适合初学者快速掌握基本编程概念:1.基础语法python#打印输出print("Hello,World!")#变...

Python循环语句实用教程

一、循环基础1.while循环基本语法:while条件表达式:循环体代码while循环流程图:应用示例:#简单计数器count=0whilecount<5:...

在 Python 中如何向一个已排序的数组(列表) 中插入一个数呢

在Python中如何向一个已排序的数组(列表)中插入一个数呢?方法有很多种,关键在于原来数组是什么样的排序,用到啥排序方法效率高,就用哪种。我们来练习其中的几种插入方法,另外也掌握下遍历数组的...