HarmonyOS鸿蒙Next中hypium自动化框架里使用的uitest_agent_v1.1.7.so支持json-rpc吗?

HarmonyOS鸿蒙Next中hypium自动化框架里使用的uitest_agent_v1.1.7.so支持json-rpc吗? 想自己改造一下框架实现,类似uiautomator2框架,客户端发送基于json-rpc 协议的http请求。

uitest_agent_v1.1.7.so 是否支持?如何不支持json-rpc,还有其他协议来类似实现吗?

6 回复

尊敬的开发者,您好! 请问您是在什么样的业务场景中使用该能力,交互流程是怎样的,在哪一个环节遇到了问题?方便提供一下其他开发平台的实现方案或者接口(优先官方文档的内容)吗?请您注意提供的内容不要包含您或第三方的非公开信息,如给您带来不便,敬请谅解。

更多关于HarmonyOS鸿蒙Next中hypium自动化框架里使用的uitest_agent_v1.1.7.so支持json-rpc吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


Hypium是官方自动化测试框架,依赖本地Instrument Test能力实现,通过系统级API直接调用测试指令。其通信机制基于鸿蒙原生测试架构,未采用JSON-RPC这类远程调用协议。

非官方的hmdriver2项目通过PC端Python脚本与设备端通信,采用类似Android uiautomator2的无侵入式设计,但底层实现为自定义协议而非JSON-RPC。所以通过非官方改造实现类似功能需自行设计通信层。

替代方案

1/使用@kit.TestKit提供的UI操作接口(如Component类的getOriginalText方法)封装本地服务。

在设备端搭建HTTP服务,将TestKit接口调用转换为JSON-RPC协议响应1。

2/通过UiDriver的控件查找能力(如BY.text定位)实现远程指令解析。

结合UiWindow管理屏幕交互,构建服务端响应逻辑3。

3/ 参考hmdriver2的无侵入式架构,通过ADB通道或Socket通信传输指令。使用PointerMatrix等底层接口模拟触控操作,避免依赖特定协议。

关键步骤

1:

// 封装TestKit接口为本地服务

import { UiDriver, BY } from '@kit.TestKit';

class RemoteTestService {

  private driver: UiDriver = UiDriver.create();

  async findComponent(text: string) {

    return await driver.findComponent(BY.text(text));

  }

}

2协议转换层设计

定义JSON-RPC请求格式,映射到对应TestKit方法。使用HTTP Server接收请求并调用本地接口。

从查询到的资料上看鸿蒙Test Kit的uitest_agent_v1.1.7.so暂未发现原生支持JSON-RPC协议

鸿蒙原生测试框架基于系统级API调用,通过@kit.TestKit模块提供的Driver、Component等类实现控件操作,如By.text()定位组件、driver.typeText()模拟输入等

此类操作通过进程间通信(IPC)直接调用系统服务,而非基于HTTP协议的RPC机制

可参考hmdriver2框架实现(无侵入式架构,支持XPath元素定位和Python脚本编写),其通过自有RPC协议实现PC端与鸿蒙设备的通信

该框架通过封装@kit.TestKit接口实现UI操作,建议研究其开源代码中的通信模块设计

uitest_agent_v1.1.7.so不支持json-rpc协议,且暂无其他协议来类似实现。

hypium自动化框架中的uitest_agent_v1.1.7.so不支持json-rpc协议。该组件基于鸿蒙测试框架设计,采用鸿蒙原生通信机制进行进程间交互,主要支持鸿蒙分布式测试能力。json-rpc协议不在其功能范围内。

目前uitest_agent_v1.1.7.so不支持JSON-RPC协议。该库主要基于HarmonyOS的自动化测试接口设计,采用本地调用机制而非网络协议。

如果需要实现类似uiautomator2的HTTP+JSON-RPC通信,建议通过扩展hypium框架或封装本地接口的方式,自行搭建RPC服务层。可考虑使用Unix Domain Socket或基于Binder的跨进程通信来传输JSON数据,间接实现类似功能。

HarmonyOS提供了分布式通信能力(如RPC组件),但需结合具体业务场景评估适配成本。

回到顶部