# @aerokit/test 中文文档

规范地址：https://npmcn.com/package/%40aerokit/test/

版本：15\.15\.0
npm 元数据更新时间：2026-11-04T14:19:32.499Z
中文译文更新时间：2026-11-06T22:15:10.848Z
软件包许可：EPL-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40aerokit/test
原文对照：https://npmcn.com/package/%40aerokit/test/?lang=original
项目主页：https://github.com/eclipse-dirigible/dirigible#readme
源码仓库：https://github.com/eclipse-dirigible/dirigible

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

- 包体积（解压后）：87.9 kB，17 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- peer 依赖：@playwright/test \>=1\.45，@axe-core/playwright \>=4\.10
- 首次发布：2026-10-23T09:05:56.128Z
- 最新版本发布：2026-11-04T14:19:31.600Z
- 近 30 天下载量：2271（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 14 个）

## 中文简介

执行意图模块生成的 . test express 以运行中的 Eclipse Dirigible 为例的普通 Playwright 跑取器

## 安装

```sh
npm install @aerokit/test
```

也可以使用：`pnpm add @aerokit/test`、`yarn add @aerokit/test`、`bun add @aerokit/test`

## README

# @aerokit/测试

> **出版说明 :** 每次发布都会将此文件夹公布为 `@aerokit/test`,以 平台。 消费者依赖 `@aerokit/test` 导入 `@aerokit/test` 编号 : `@aerokit/test/fixtures`与前作相反的绳索 `@aerokit/sdk/test` 子路径保存 解决时 `@aerokit/sdk` 仍然飞来飞去 `@aerokit/sdk` 正在贬值: 切换 导入和依赖 `@aerokit/test`。 。 。 .

常规 [剧作家](https://playwright.dev/) 执行意图模块生成的运行程序 `<name>.test` 明确反对正在运行的 Eclipse Dirigible 实例。 清单(由 `AppTestIntentGenerator` 内 `engine-intent`,同时 `.edm`编号 :`.model`编号 :`.bpmn`说什么 app 承诺——实体、布局、字段、种子、语言;这个软件包知道如何验证一个 承诺反对生成的Harmonia UI和再利用的REST控制器. 因此,一个跑者,版本 检查每个生成的应用软件.

这是应用集成测试表面(从外部驱动浏览器+REST层) (见A/CN.9/WG.III/WP.III/WP.1号文件)。 它不同于 `@aerokit/sdk/junit`,内置服务器侧单元测试外观.

## 从模块使用

模块保持微小 `test/` 利用技术 **重传根** (在已公布的项目文件夹之外,所以) 它从未进入注册或npm包:

```js
// test/app.spec.js
import { fileURLToPath } from 'node:url';
import { runTest } from '@aerokit/test';

runTest(fileURLToPath(new URL('../<project>/<name>.test', import.meta.url)));
```

```json
// test/package.json
{
  "type": "module",
  "scripts": { "test": "playwright test" },
  "devDependencies": { "@aerokit/test": "*", "@playwright/test": "^1.45" }
}
```

```
BASE_URL=http://localhost:8080 npm test        # defaults: admin/admin, installed Chrome
APPTEST_SHELL=1 npm test                       # also assert the shared-shell menu item
APPTEST_A11Y=strict npm test                   # fail on serious/critical accessibility violations
```

信封 : `BASE_URL` (默认) `http://localhost:8080`, (中文(简体) ), `APPTEST_USERNAME`编号 :`APPTEST_PASSWORD` (默认) `admin`编号 :`admin`, (中文(简体) ), `APPTEST_SHELL` (opt-in-suple- shell slow), (选择共享- shell slow), , (原始内容存档于2017-09-31), `APPTEST_A11Y` (单位:千美元)`report` 默认, `strict`, (中文(简体) ), `off` - 无障碍流动).

## 每个实体的流量

-   **列表** 外壳面包屑用其复数标签、申报栏和 (当 `expectSeedData`)一行来. 其清单载有的实体 `list` 使这些 柱子,按顺序排列,并留下一个字段,它必须完全没有标题 `list` 栏 他们的田地 `major` 没有 `false`。 。 。 .
-   **钉子** – UI 创建 ~ 过滤 ~ 行出现; 通过行菜单编辑 ~ 保存(a) `document` 保存在 位置,所以行走通过取消);通过行菜单删除 +确认 → 消失。 散步时 半衰期仍会删除测试行。 无实体 `route` (a) 组成 儿童没有自己的页面)没有列表, crud,多语种或 shell 流.
-   **休养** – 同样的 CRUD 通过生成的 Java 控制器 `APIRequestContext` (同位素数) 后端 vs UI 失败),坚持表单的字段名绑定并删除出值 404 —或, 对一实体a `whenDeleted: refuse` 程序卫士, 拒绝的记录仍然服务.
-   **多语种** ——切换共享语言密钥,重新装入,一种子行显示其被翻译出的名称. 此断言等待列表本身的数据获取并允许 15 s; 失败名称 `Accept-Language` 被发送,无论它的身体 携带预期的单词,和表的第一个 排行,所以缓慢的翻译 读取与缺失的翻译不同.
-   **来,来** - 个人(我的)表面WIRE合同,当清单标出实体时 `personal`数字 : 通过范围创建 `<Entity>MyController` (所有者 FK 强制服务器侧),每 `sensitive` 字段在个人电线上无效,个人名单上的自行,外行404(当 所有者关系是可选的),自行删除. 当测试用户没有时用指针跳过 身份映射(种子为dev身份行). 个人 _用户_ 等值( 已解决的标签、 聊天、, 个人弹壳上的日历) 等价修正.
-   **外壳** (opt-in)——共享应用程序 shell的导航项目在其iframe中打开了模块SPA.
-   **a11y (韩语)** 轴-核心扫描列表页面和创建格式,以对应WCAG 2.1 A/AA并附上 每一页的结果( e)`axe-<Entity>-<page>.json`)到测试报告. `APPTEST_A11Y=report` (默认)只报告 - 一个模块的第一次发布; `strict` 失败于 a `serious` 或者说 `critical` 违反; `off` 跳过它。 需求 `@axe-core/playwright` 在绳子上 `devDependencies` (流自自取而去而去. 与Harmonia自己的矛盾 `--primary` 不在严格模式中计算:默认调色板错过了4.5:1 组件库修正;其他所有对比失败都是.

测试记录带有 `APPTEST-` 前缀并被删除;种子数据从未变异. 应用程序拥有的字段而不是用户的字段—— a `number:` 序列,计算或 `readOnly:` 价值 - 绝不是经文的,也不是经文的 `readOnly`) (中文(简体) ). 表单所构成的关系 只读——a `calculatedActionOnUpdate`一个平台拥有的FK 旗子相同,从不 被UI选中了 创建后固定的关系( N)`fixedAfterCreate: true`载体 `readOnlyOnEdit`: 这是 在创建上选中, 并且从未被编辑更改, 生成的应用以 409 回答 。 宣布一个字段 `pattern:` 获得该形状的值而不是标记字符串。 可选 `pattern:` 字段 样本中没有任何候选人(如IBAN)是空的 标记,所以控制器的 400 名字段。 A 类 `dependsOn` 关系被取样以与其 触发器,随着形式缩小: `filterBy` 触发器是受抚养人的行 `filterBy` 名称; 与 `valueFrom` 所依赖的行是: `filterBy` (或按键)等于触发行 `valueFrom`关系a `agree` 检查姓名被选中 目标一致 `uniqueKeys` 条目被赋予关系组合 无活行 随身携带,其余的和被碾碎的流 跳过键 命名时,每一个尝试组合. 插槽实体的起步( 列表为 `slots` 窗口)是一个在小时之内开始的随机网格 因此服务器的插槽规则(400个窗外,409个窗外) 预定的空档)从不拒绝;REST请求名称 `UTC` 作为 `X-Time-Zone`,它所在的区域 计算. 关系 `pickable` 只能从各行中取样 故从人所造作的记录,是不会保存的 `forbiddenTarget` 仅来自 排行记录自己的 `forbidWhen` 不拒绝,这是REST流量需要的,没有 取取取取读取. 当没有行时, 需要的关联没有命名规则本身的信息 而不是"无行"。 目标被标记为 `stampOn: issue` 数字携带 `labelDocumentNumber`: 采取器显示尚未发布的每行“ (草稿) ” , 所以样本 是一行被印章,按其编号取出;没有被印章,但可选关系没有设定 a 需要选择“(草案)”.

## 自定义 UI 钩子

`runTest(manifest, { extend })` (单位:千美元)`runAppTest` 仍为被贬值的别名:

-   `widgets: { '<widget>': async (page, field, value) => ... }` ——自定义部件填充器.
-   `entities: { <Entity>: { skip: ['delete'], beforeCreate, afterCreate } }` ——活性悬钩.

手写规格 `test/custom/*.spec.js` 导入 `@aerokit/test/fixtures` (登录前) `test`,一个 `api` 客户端, `expect`)所以登录/baseURL/清理都可以免费.

## 常见问题

### @aerokit/test 是什么？

执行意图模块生成的 \. test express 以运行中的 Eclipse Dirigible 为例的普通 Playwright 跑取器

### 如何安装 @aerokit/test？

在项目目录运行 npm install @aerokit/test，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@playwright/test（\>=1\.45）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @aerokit/test 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/aerokit\_\_test 是否存在。

### @aerokit/test 支持 ESM 还是 CommonJS？

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

### @aerokit/test 可以商用吗？

@aerokit/test 使用 EPL-2\.0 许可。声明的许可为 EPL-2\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @aerokit/test 的下载量有多少？

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

### @aerokit/test 还在维护吗？

最新版本 15\.15\.0 发布于 2026/11/04（3 天前）；至今共发布 14 个版本，其中过去 12 个月发布了 14 个；首次发布于 2026/10/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

