OpenHarmony之XTS

这篇具有很好参考价值的文章主要介绍了OpenHarmony之XTS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


xts简介:OpenHarmony兼容性测评主要是验证合作伙伴的设备和业务应用满足OpenHarmony开源兼容性定义的技术要求,确保运行在OpenHarmony上的设备和业务应用能稳定、正常运行,同时使用OpenHarmony的设备和业务应用有一致性的接口和业务体验。
兼容性测试套件版本说明:合作伙伴可以选择任何OpenHarmony 已经发布的LTS(Long TermSupport)或 Release分支进行测试。推荐是最新LTS 或 Release。需要选择最近发布的V版本进行测试(提交测试时,需要满足6个月内发布的版本)。

xts支持如下几种类型:

轻量系统类设备(参考内存≥128KB)
小型系统(参考内存≥1MB)
标准系统类(参考内存≥128MB)
注:当前我们所做的都是标准系统,所以需要使用标准系统的xts来过认证。

xts需要测试认证的模块

acts应用层,hats驱动层,dcts分布式组网
acts:应用兼容性测试套件,看护北向HAP兼容、OpenHarmony开发API兼容;
hats:硬件抽象测试套,看护HDI层接口;
dcts:分布式兼容性测试套,看护分布式兼容;

1.XTS环境准备

	编译前的准备工作
	window XTS运行环境配置
	1.python安装
	下载链接:https://www.python.org/downloads/ 
	【python-3.7.4-amd64.exe】本人XTS配置环境时使用的是当前的环境
	2.安装setuptools(pip install setuptools )
	3.安装pyserial(pip install pyserial )
	4.安装rsa( pip install rsa )
	在cmd中执行:
	pip install setuptools	
	在cmd中执行:
	pip install pyserial
	在cmd中执行:
	pip install rsa

	在XTS中有acts应用层,hats驱动层,dcts分布式,三个套件都需要进行编译验证测试,代码目录在test/xts中,会有acts dcts hats tools 四个目录

XTS编译

	以acts为例:全量编译指导(//test/xts)
	a). 全量编译 test/xts/acts目录下执行编译命令:./build.sh product_name=your_product_name system_size=standard suite=acts
	b). 单个子系统编译,test/xts/acts目录下执行编译命令:./build.sh product_name=your_product_name system_size=standard target_subsystem=××××
	
	编译生成目录:
	在全量编译acts后,会生成在out/product_name/suites/acts目录.

	XTS运行
	将编译之后的suites拷贝到windows上。2.配置hdc_std环境变量。(在官方文档中有,自行查阅)
	执行
	打开acts目录,双击run.bat会出现如下图所示,则表示运行环境已配置完成。
	.
	├── config# 配置文件
	├── run.bat # window 平台测试套启动执行文件
	├── run.sh # linux 平台测试套启动执行文件
	├── testcases # 测试套文件存放目录
	└── tools	# 测试框架工具目录
	3 directories, 2 files

XTS在windows中执行示例

run acts						// 全量执行
run -l testmodule 		        // 单模块编译

查看测试报告

OpenHarmony之XTS,OpenHarmony,C/C

	进入acts\reports\,获取当前的执行记录,打开“summary_report.html”可以获取到测试报告。例:
	acts模块共计:174个。
	成功执行的模块:166个。
	用例共计9781个,通过9570个,失败310个,阻塞1个,8个模块未执行

XTS编写示例

1.xts测试组件结构目录;
2.以上为xts在编写时的目录结构以及文件,大部分文件不需要做修改或者只需要做一个小的改动;以
下是需要修改的文件以及说明
a. BUILD.gn(1)
b. main/config.js配置文件只需要将其包名等修改为自己定义的组件名称即可
.

import(“//build/ohos_var.gni”)
group(“xxx_standard”) { # xts在编译时需要新增的测试模块,下面deps为组件
生成的hap包
testonly = true
if (is_standard_system) {
deps = [ “midcard:midcar_js_test” ] # 组件hap包}
}
c. BUILD.gn(2) 脚本文件 ,参考openharmony其他目录中的测试组件中的脚本来进行编写,只需要修改其名称即可;
d. 在page文件中,index.js文件中,只需要修改加载模块名称即可,修改成自己的模块名;如:
e. Test.json文件,主要是对测试用例模块名以及测试时的时间的设置;以下注释过的地方需要做一个修改即可(除type以外)。
{
"
app": {
“bundleName”: “com.test.midcar”, # 将midcar修改成自己定义的组件名称,在当前
文件后面的代码中的名称同样修改成自己定义的组件名称
“vendor”: “test”,
“version”: {
“code”: 1,
"
name
"
:
"
1.0"
},
“apiVersion”: {
“compatible”: 5,
“target”: 5
}
},
import(“//test/xts/tools/build/suite.gni”)ohos_js_hap_suite(“midcar_js_test”) {hap_profile = “./src/main/config.json"deps = [
“:midcar_js_assets”,”:midcar_js_resources",
]
certificate_profile = “./signature/openharmony_sx.p7b"hap_name = “ActsMidcarTest”
}
ohos_js_assets(“midcar_js_assets”) {source_dir = “./src/main/js/default”
}
ohos_resources(“midcar_js_resources”) {sources = [ “./src/main/resources” ]hap_profile = “./src/main/config.json”
}
require(‘…/…/test/List.test’) # 加载json测试文件
{
“description”: “Configuration for midcar Tests”, # 说明描述"driver”: {
“type”: “JSUnitTest”, # 测试框架
“test-timeout”: “60000”, # 超时时间设置
“package”: “com.test.midcar”, # 该字段要与config.json 中的名称要保持一致,如果不
同则在执行XTS的时候会报无法启动功能,解析错误failed to

start ability.

error: resolve ability err.

“shell-timeout”: “60000” # 超时时间设置
},
e. test/midcar.test.js 该文件就是对对应的组件进行接口测试,需要自己做编码。3. 在test_packages.gni文件中添加对应的代码;如下:
4. 以上就是从创建自己的xts测试到修改以及自己编码的全过程。在执行./build.sh
product_name=XXX system_size=standard suite=acts;如下表示已添加进去。
“kits”: [
{
“test-file-name”: [
“ActsMidcarTest.hap” # 编译后生成的hap包名称,],“type”: “AppInstallKit”,“cleanup-apps”: true
}
]
}

在 _all_test_packages[]中添加如下脚本编码即可;

_
all_test_packages = [
A C T S R O O T / g l o b a l : g l o b a l " , " {ACTS_ROOT}/global:global"," ACTSROOT/global:global","{ACTS_ROOT}/security:security”,“ A C T S R O O T / u s e r i a m : u s e r i a m " , " {ACTS_ROOT}/useriam:useriam"," ACTSROOT/useriam:useriam","{ACTS_ROOT}/multimedia:multimedia”,“ A C T S R O O T / a p p e x e c f w k : a p p e x e c f w k " , " {ACTS_ROOT}/appexecfwk:appexecfwk"," ACTSROOT/appexecfwk:appexecfwk","{ACTS_ROOT}/account:account”,“ A C T S R O O T / c o m m u n i c a t i o n : c o m m u n i c a t i o n " , " {ACTS_ROOT}/communication:communication"," ACTSROOT/communication:communication","{ACTS_ROOT}/notification:notification”,“ A C T S R O O T / a a f w k : a a f w k " , " {ACTS_ROOT}/aafwk:aafwk"," ACTSROOT/aafwk:aafwk","{ACTS_ROOT}/miscservices:miscservices”,“ A C T S R O O T / p o w e r m g r : p o w e r m g r " , " {ACTS_ROOT}/powermgr:powermgr"," ACTSROOT/powermgr:powermgr","{ACTS_ROOT}/startup:startup”,“ A C T S R O O T / s e n s o r s : s e n s o r " , " {ACTS_ROOT}/sensors:sensor"," ACTSROOT/sensors:sensor","{ACTS_ROOT}/distributeddatamgr:distributeddatamgr”,“ A C T S R O O T / u p d a t e r : u p d a t e " , " {ACTS_ROOT}/updater:update"," ACTSROOT/updater:update","{ACTS_ROOT}/graphic:graphic”,“ A C T S R O O T / a c e : a c e " , " {ACTS_ROOT}/ace:ace"," ACTSROOT/ace:ace","{ACTS_ROOT}/storage:storage”,“ A C T S R O O T / c o m p i l e r u n t i m e : c o m p i l e r u n t i m e " , " {ACTS_ROOT}/compileruntime:compileruntime"," ACTSROOT/compileruntime:compileruntime","{ACTS_ROOT}/usb:usb”,“ A C T S R O O T / m u l t i m o d a l i n p u t : m u l t i m o d a l i n p u t " , " {ACTS_ROOT}/multimodalinput:multimodalinput"," ACTSROOT/multimodalinput:multimodalinput","{ACTS_ROOT}/resourceschedule:resourceschedule”,“ A C T S R O O T / t e l e p h o n y : t e l e p h o n y " , " {ACTS_ROOT}/telephony:telephony"," ACTSROOT/telephony:telephony","{ACTS_ROOT}/hiviewdfx:hiviewdfxtestacts”,“ A C T S R O O T / l o c a t i o n : l o c a t i o n " , " {ACTS_ROOT}/location:location"," ACTSROOT/location:location","{ACTS_ROOT}/settingsdata:settingsdata”,“ A C T S R O O T / b a r r i e r f r e e : b a r r i e r f r e e " , " {ACTS_ROOT}/barrierfree:barrierfree", " ACTSROOT/barrierfree:barrierfree","{ACTS_ROOT}/xxx:xxx_standard”, # 在此添加自己的xts
测试子的子系统]
5.在编译完成后在对应的目录中能看到对应的hap包以及json等文件;如下图所示:
6.在编译完成后,在对应的目录out/product_name/suites/将其拷贝到本地;7.在编译出来的ActsMidcarTest.json文件中有几个关键点如下:
1,test-timeout 测试时设置的时间限制,如果在测试中时间超过了60000ms则会报未执行的错误,2,cleanup-apps在该用例执行完成以后,可选择不卸载当前的测试程序。
2.XTS运行
1.在配置好环境以后,双击run.bat执行启动测试套件;2.在使用run -l ActsMidcarTest 执行该用例;
{
“description”: “Configuration for midcar Tests”,“driver”: {
“type”: “JSUnitTest”,“test-timeout”: “60000”, # 测试用例执行时间限制
“package”: “com.test.midcar”,“shell-timeout”: “60000” # 命令运行执行时间限制
},
“kits”: [
{
“test-file-name”: [
“ActsMidcarTest.hap”
],
“type”: “AppInstallKit”,“cleanup-apps”: true
}
]
}
注:上述报错是由于Test.json中package的字段和config.json中字段bundleName不一致导致的。修改后会运行成功,如下图所示:
3.测试完成后在report文件夹中有对应的log文件,例如:
4.打开summary_report.html即可查看结果,结果如下图所示:
4.XTS总结
1.XTS运行报错常见问题
1.执行run.bat时,开发板主机拒绝链接;
原因:由于开发板过热导致或一些其他原因所导致,解决方法:重启开发板即可,或者重烧录
2.在执行run.bat,执行测试用例后,发现执行出现ERROR或是服务启动失败。
原因:由于文件路径中有中文所导致
解决方法:使用英文路径即可解决
2.XTS测试不通过的常见问题
1.缺少动态库,加解密(在修改成64位时出现的问题)
解决方法:编译对应的so,放在对应的目录下(system/lib64)
2.库文件与之不匹配,由于我们编译的是64位本身的so是32位导致的
解决方法:使用file命令查看so是否是64位,重新编译so,
3.蓝牙问题,蓝牙未打开和未匹配另一个蓝牙所导致的,如:ActsBluetoothOnHapTest.解决方法:打开蓝牙即可测试通过。
4.和当前网络相关,未链接网络所导致的,如:ActP2PJSApiTest,ActSystemFetchTest,解决方法:链接网络即可测试通过。
5.当前GPU渲染有关,由于openharmony自带的so的版本较老所导致,所以导致XTS测试不通过。
如:ActWebGLTest
解决方法:使用mesa3d鸿蒙化之后的so,即可编译通过。注:当前so已完成鸿蒙化。
具体参考链接如下:https://blog.csdn.net/u013131156/article/details/124338583?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166961863916782412555700%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166961863916782412555700&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaidue
nd~default-1-124338583-null-null.142v66control,201v3add_ask,213v2t3_esquery_v3&utm_term=openharmony%20mesa
3d&spm=1018.2226.3001.4187
3.XTS认证流程
1.测评流程:
1.企业账号申请;
https://old.openatom.cn/atomavatar/#/register?redirect=%2Fauthorize%3Fresponse_type%3Dcode%26client_id%3D6bdacef0a8bd11ec938bd9550d2decfd%26redirect_uri%3Dhttps%3A%2F%2Fcompatibility.openharmony.cn%2Fconsole%26appName%3DOpenHarmony%E8%AE%A4%E8%AF%81%E5%B9%B3%E5%8F%B0%26scope%3D0,1,2,3%26state%3D%2Fpersonal
2.XTS自测;(ACTS,HATS,DCTS)完成PCS自检
1),HAT,ACTS需要资源文件,资源文件在https://gitee.com/openharmony-sig/compatibility/tree/master/test_suite/resource/OpenHarmony-3.1-Release/中,自行下载即可。下载后将对应的资源文件放到对应的目录,如ACTS的则放到acts的目录下,如下图所示:
2),PCS自检;例在XX中所填写的表格;表格如下:
XXXXXXX
3),PCS自检表格下载链接:https://www.openharmony.cn/certification/document/pcs
;根据自己当前版本的需要下载对应的版本,如我们当前用的是3.1.2 Release 移植的标准系统,则下载[标准系统 PCS3.1 自检表]。
注:在测试时,如遇到硬件不支持的则可以申请豁免,如音视频等和硬件相关的,在测试验证过程中需要提前得知当前模块是否需要申请豁免;
3.在完成ACTS和HATS测试验证进度在70%-100%时,申请DCTS测试所需要的组网盒子,申请流程具体需要项目经理协助处理。
4.完成DCTS,ACTS,HATS 验证以及豁免部分组件和PCS自检表格之后,按照上图的第三步执行后面的流程。
5.在提交时:1.需要提交我们测试的报告可以是多个和单个测试的,但是要有备注, 2.需要提交镜像烧录文件说明以及镜像文件
3. PCS自检表以及豁免邮件。
6.等待基金会验证审核(可能有疑问需要一起协助基金会的人去处理)
7.审核完成后等待证书发放(2-3天)注:兼容性测试审批周期:14天;
4.XTS认证注意事项
1.在验证时,确保当前版本是6个月之内的版本
2.确保当前系统是32位或者64位,如果是64位3.1.4及其一下版本则需要提前沟通豁免ACTS部分不能豁免的组件,以及DCTS和HATS所有测试项。
3.XTS认证流程中的PCS自检为当前的最小集,覆盖不全,其他的如果需要豁免,说明原因理由,及时和基金会的人确认。
4.在3.1.2中若测试使用HATS时,有部分测试用例会直接报错,则需要使用最新或者3.1版本的Xdevice的工具来替换当前3.1.2中的工具。
5.在跑XTS遇到不通过时,有以下几种解决方法:1.查看当gitee上对应版本的issue,查看是否有改动
而自己代码未更新的,若未更新则附上issue单申请豁免
2.若ActsWindowHapTest该组件测试报
Unavailable,则在单独跑该模块时,在测试时使用鼠标或者触屏在上滑动一下,方可测试通过,因为当前测试组件的窗口层级问题会导致页面无法正常退出。
3.其他报错问题可参考XTS总结的第一条和第二条;文章来源地址https://www.toymoban.com/news/detail-831189.html

到了这里,关于OpenHarmony之XTS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenHarmony生态如何建?北航牵头发布《面向OpenHarmony的软件工程研究路线图》

    CODEWISDOM 2023年10月26日,OpenHarmony的4.0版本正式上线,引发了用户,开发者和学术圈广泛讨论。作为新兴的移动端平台,OpenHarmony以其突破性的创新频频“出圈”,至今已经走过三载春秋。以史为鉴,可以知兴替。为了更好地了解OpenHarmony平台的特点和优势,现有移动平台的不足

    2024年01月17日
    浏览(48)
  • OpenHarmony开发环境搭建

    Ubuntu下搭建鸿蒙开发编译环境 一、安装Python环境       sudo apt-get install python3              把python默认指向python3        sudo rm python       sudo ln -s /usr/bin/python3.8 /usr/bin/python        二、安装pip3环境        sudo apt-get install python3-pip        安装相关的依赖库        s

    2024年02月09日
    浏览(42)
  • OpenHarmony HDF 框架介绍

    OpenHarmony 系统 HDF 驱动框架采用 C 语言面向对象编程模型构建,通过平台解耦、内核解耦,来达到兼容不同内核,统一平台底座的目的,从而帮助开发者实现驱动一次开发,多系统部署到的效果。 为了达成这样一个目标,OpenHarmony 系统 HDF 驱动框架提供了: 操作系统适配层(

    2024年02月17日
    浏览(41)
  • 加载OpenHarmony网页【坚果派】

    Web组件的使用非常简单,只需要在Page目录下的ArkTS文件中创建一个Web组件,传入两个参数就可以了。其中src指定引用的网页路径,controller为组件的控制器,通过controller绑定Web组件,用于实现对Web组件的控制。 第一步:新建Page 第二步:导入模块 第三步:使用控制器

    2024年02月05日
    浏览(42)
  • OpenHarmony开发实战:快速入门

    OpenHarmony是一款面向全场景的开源分布式操作系统,采用组件化设计,支持在128KiB到xGiB RAM资源的设备上运行系统组件,设备开发者可基于目标硬件能力自由选择系统组件进行集成。 OpenHarmony当前定义了三种基础系统类型,设备开发者通过选择基础系统类型完成必选组件集配置

    2024年04月17日
    浏览(53)
  • OpenHarmony 启动流程优化

    平台:润和的rk3568 分支:openharmony release 3.2 ​ 目前rk3568的开机时间有21s,统计的是关机后从按下power按键到显示锁屏的时间,当对openharmony的系统进行了裁剪子系统,系统app,禁用部分服务后发现开机时间仅仅提高到了20.94s 优化微乎其微。在对init进程的log进行分析并解决其中

    2024年02月05日
    浏览(36)
  • OpenHarmony/HarmonyOS播放音频

    大家好,今天我们来看OpenHarmony 使用AVPlayer可以实现端到端播放原始媒体资源,本开发指导将以完整地播放一首音乐作为示例,向开发者讲解AVPlayer音频播放相关功能。 创建AVPlayer, 设置播放资源, 设置播放参数(音量/倍速/焦点模式), 播放控制(播放/暂停/跳转/停止),

    2024年02月07日
    浏览(36)
  • 调试OpenHarmony应用/服务

    调试 OpenHarmony 应用/服务是开发过程中的一个重要环节,它帮助开发者发现并修复程序中的错误,确保应用/服务的稳定性和可靠性。OpenHarmony 是一个开源的操作系统,由华为发起并持续推动的一个多设备分布式操作系统。下面将介绍如何在 OpenHarmony 开发环境中调试应用/服务

    2024年03月08日
    浏览(34)
  • OpenHarmony的前世今生

    目录 1.1.1:OpenHarmony的背景 1.1.2:OpenHarmony的诞生 1.1.3:OpenHarmony与HarmonyOS的关系 1.1.4:OpenHarmony的技术架构 1.1.5:OpenHarmony的技术特性 1.1.6:小结 OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源

    2024年01月20日
    浏览(44)
  • Openharmony使用hdc提效

    告别串口卡顿调试🐸hdc增效大法🐸,工作环境主要是Linux,所以主要是介绍Linux环境下使用喔~ Author Date Version Description 陈梓归 2023-06-13 V1.0 第一个版本 hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与 真实

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包