@appium/universal-xml-plugin

中文文档
4.0.0发布于 2026/11/15Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 5222

制作 XML 源码和 XPath 的 Appium 插件

中文使用文档
文档目录9 节
  1. 动机
  2. 安装
  3. 使用量
  4. 关闭和关闭翻译
  5. API 密码
  6. 实例
  7. 节点名称
  8. 属性名称
  9. 许可证

@ appium/ universal- xml- 插件

将平台专用 XML 转换为通用语法的 Appium 插件

NPM version Downloads

此插件使用使用 iOS 或 Android 驱动程序检索的 XML 页面源, 并更改各种 节点和属性名称用于使用共同的名词,可以适用于两个平台.

动机

拥有iOS和Android XML源之间的兼容性可以简化跨平台测试的创建.

安装

appium plugin install universal-xml

使用量

和所有插件一样,在启动 Appium 服务器时必须明确激活此插件 :

appium --use-plugins=universal-xml

插件运行后, 它会截取并转换 Get Page 检索的应用程序源 源命令,以及Find Element相关命令中提供的元素节点/属性名称.

关闭和关闭翻译

翻译是默认的。 获取驱动程序原始页面来源, 或运行 XPath 查询 对应原节点/属性名称,在与该节点的会话中关闭 universalXml: setEnabled 执行方法, (中文(简体) ), 并回向同道. universalXml: isEnabled 返回当前状态.

// WebdriverIO
await driver.executeScript('universalXml: setEnabled', [{enabled: false}]);
// page source and XPath queries are now passed through unchanged
await driver.executeScript('universalXml: setEnabled', [{enabled: true}]);
await driver.executeScript('universalXml: isEnabled', []); // true

设置仅适用于本届会议。 每次新会话都以翻译开始.

API 密码

参见Appium文件。 。 。 .

实例

节点名称

iOS系统机器人已转换
XCUIElementTypeButtonandroid.widget.ButtonButton
XCUIElementTypeAlertandroid.widget.ToastAlert
XCUIElementTypeSwitchandroid.widget.SwitchSwitchInput

见 映射文件 用于完整节点名称翻译列表。 没有名字 已指定为原样.

属性名称

iOS系统机器人已转换
namecontent-descaxId
labeltexttext
visibledisplayedvisible

注意此插件也会从已变换的XML中去除一些属性. 见 映射文件 用于完整属性名称翻译列表并删除 属性。 任何未指定的名称均留为正文 .

许可证

阿帕奇 - 2.0

版本与发布记录

@appium/universal-xml-plugin 共发布 78 个版本,首次发布于 2021/01/29;过去 12 个月发布了 24 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
4.0.0latest2026/11/15今天
3.0.32026/11/151 天前
4.0.0-beta.8beta2026/11/132 天前
4.0.0-beta.72026/11/0115 天前
3.0.22026/10/2719 天前
4.0.0-beta.62026/10/2620 天前

其他发布通道:rc → 2.0.0-rc.1,beta → 4.0.0-beta.8。

关于 @appium/universal-xml-plugin 的常见问题

@appium/universal-xml-plugin 是什么?

制作 XML 源码和 XPath 的 Appium 插件

如何安装 @appium/universal-xml-plugin?

在项目目录运行 npm install @appium/universal-xml-plugin,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:appium(^4.0.0-beta.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@appium/universal-xml-plugin 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@appium/universal-xml-plugin 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@appium/universal-xml-plugin 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^22.22.2 || ^24.15.0 || >=26.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@appium/universal-xml-plugin 可以商用吗?

@appium/universal-xml-plugin 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@appium/universal-xml-plugin 的下载量有多少?

根据 npm 官方下载统计,@appium/universal-xml-plugin 在 2026/10/07 – 2026/11/05 这 30 天内被下载 5,222 次,日均约 174 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@appium/universal-xml-plugin 还在维护吗?

最新版本 4.0.0 发布于 2026/11/15(今天);至今共发布 78 个版本,其中过去 12 个月发布了 24 个;首次发布于 2021/01/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。