# @appium/universal-xml-plugin 中文文档

规范地址：https://npmcn.com/package/%40appium/universal-xml-plugin/

版本：4\.0\.0
npm 元数据更新时间：2026-11-15T13:59:50.508Z
中文译文更新时间：2026-11-15T14:02:57.795Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40appium/universal-xml-plugin
原文对照：https://npmcn.com/package/%40appium/universal-xml-plugin/?lang=original
项目主页：https://appium.io/
源码仓库：https://github.com/appium/appium

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：106 kB，44 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：^22\.22\.2 \|\| ^24\.15\.0 \|\| \>=26\.0\.0
- 运行依赖：4 个
- peer 依赖：appium ^4\.0\.0-beta\.0
- 首次发布：2021-01-28T18:26:58.682Z
- 最新版本发布：2026-11-15T13:59:50.170Z
- 近 30 天下载量：5222（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：78（近 12 个月 24 个）

## 中文简介

制作 XML 源码和 XPath 的 Appium 插件

## 安装

```sh
npm install @appium/universal-xml-plugin
```

也可以使用：`pnpm add @appium/universal-xml-plugin`、`yarn add @appium/universal-xml-plugin`、`bun add @appium/universal-xml-plugin`

## README

# @ appium/ universal- xml- 插件

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

[![NPM version](https://img.shields.io/npm/v/@appium/universal-xml-plugin.svg)](https://npmjs.org/package/@appium/universal-xml-plugin) [![Downloads](https://img.shields.io/npm/dm/@appium/universal-xml-plugin.svg)](https://npmjs.org/package/@appium/universal-xml-plugin)

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

## 动机

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

## 安装

```
appium plugin install universal-xml
```

## 使用量

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

```
appium --use-plugins=universal-xml
```

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

### 关闭和关闭翻译

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

```js
// 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文件](https://appium.io/docs/en/latest/reference/api/plugins/#universal-xml-plugin)。 。 。 .

## 实例

### 节点名称

| iOS系统 | 机器人 | 已转换 |
| --- | --- | --- |
| `XCUIElementTypeButton` | `android.widget.Button` | `Button` |
| `XCUIElementTypeAlert` | `android.widget.Toast` | `Alert` |
| `XCUIElementTypeSwitch` | `android.widget.Switch` | `SwitchInput` |

见 [映射文件](https://npmcn.com/package/%40appium/universal-xml-plugin/lib/node-map.ts) 用于完整节点名称翻译列表。 没有名字 已指定为原样.

### 属性名称

| iOS系统 | 机器人 | 已转换 |
| --- | --- | --- |
| `name` | `content-desc` | `axId` |
| `label` | `text` | `text` |
| `visible` | `displayed` | `visible` |

注意此插件也会从已变换的XML中去除一些属性. 见 [映射文件](https://npmcn.com/package/%40appium/universal-xml-plugin/lib/attr-map.ts) 用于完整属性名称翻译列表并删除 属性。 任何未指定的名称均留为正文 .

## 许可证

阿帕奇 - 2.0

## 常见问题

### @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 和提交记录判断。

