@9l/playwright

中文文档
0.6.0发布于 2026/11/08Apache-2.0TypeScriptCommonJS零依赖构建来源已验证近 30 天下载 3270

Playwright 定着和版本 9lives 去引擎桥

中文使用文档
文档目录4 节
  1. 安装
  2. 使用
  3. 安卓(实验)
  4. 许可证

@ 9l/ playwright 游戏

本地 Playwright 设置 9条跑道。 。 。 . 这个 n9l 固定设备提供 step 自然语言 goal 方法。 。 . 保留普通的"Playwright"断言以确立预期的行为. 一个目标 完成后不验证该行为.

安装

发表于 无数字 :

npm install --save-dev @9l/[email protected] @playwright/[email protected]
npm exec playwright install chromium

对合格的运行时间使用节点24(节点22最低),Playwright 1.61.1 通过1.64.1和铬。 amd64/arm64上的macOS、Linux和Windows为 合格跑道目标(0.2.0CLI的窗户)。 对等范围是 @playwright/test >=1.61.1 <2; CI 限定 1.61.1至1.64.1(1.61.1、1.62.0、1.62.1.)的每份出版物, 1.63.0、1.64.0和1.64.1。 后期版本和其他浏览器引擎安装 但却不合格.

前进 9l 还需要可执行文件。 使用 CLI 安装指南 用于提供或从源头安装Go 1.27.3或更新. 此 npm 软件包没有安装 Go 或 捆绑跑者、浏览器或主机服务。 不需要平台账户.

使用

import {test, expect} from '@9l/playwright';

test('checkout confirms one order', async ({page, n9l}) => {
  await page.goto('http://localhost:3000/checkout');
  await n9l.step('place order', async () => {
    await page.getByRole('button', {name: 'Place order'}).click();
    await expect(page.getByRole('status')).toHaveText('Order confirmed');
  });
});

启动示例应用程序, 然后通过 Go 引擎运行选中的 spec :

9l run tests/checkout.spec.ts --sdk --format json

使用 --pass-env NAME 用于明确批准的应用程序设置。 浏览器 手柄和目标参数值留在工人中;供应商证书保留 进入 n9l fixture 需要由 --sdk。 。 。 . 现有的 Playwright 规格和配置仍然可以独立使用.

自然语言目标使用有限观察控制和打入动作 预算和保守的停止政策。 见 目标合同 财务报告和审定财务报表 SDK桥。 。 。 . 现场提供者准确性,独立的行为核查,经核实的回放, iOS和Android设备超出以下所列范围不是合格特性.

安卓(实验)

Android目标驱动自有仿真器或附着的手机通过 App 3.8.0和UiAutomator2 8.7.0,同分 app 固定网络 目标用途。 它在API 35模拟器和一款Android 17电话上获得资格; 见 Android 设置和资格限制。 。 。 .

  1. 安装匹配的 0.6.0 CLI 和 @9l/playwright 合并(见 安装, (中文(简体) ), 和固定的自动化工具,一次,在你的项目之外:

    npm install --prefix ~/.9l/android-tools --save-exact --ignore-scripts \
      [email protected] [email protected]
    

    对于另一个位置, 设定 NINELIVES_ANDROID_TOOLS。 。 。 .

  2. 检查一下主持人 医生报告 Java, SDK, 构建工具, AVD, 设备 和被钉住的工具,各有一个固定点:

    9l doctor --android
    
  3. 在共享目标固定中构造驱动程序并命名 Playwright 项目 android:<alias>数字 :

    import {createTargetTest} from '@9l/playwright';
    import {androidTargetDriver} from '@9l/playwright/android';
    
    export const test = createTargetTest({
      native: target => androidTargetDriver({
        appId: target.appId, avd: 'Pixel_API_35',
        apk: 'build/app.apk', apkSHA256: '<digest>',
        appPackage: 'com.example.app', activity: '.MainActivity',
      }),
    });
    
    // playwright.config.ts
    import {defineConfig} from '@playwright/test';
    
    export default defineConfig({
      // A cold emulator boot fits in open()'s 180-second bound, which needs
      // a test timeout above Playwright's 30-second default.
      timeout: 240_000,
      // 9l owns attempts: a Playwright retry is refused.
      retries: 0,
      projects: [{name: 'android:app'}],
    });
    
  4. 通过引擎运行,转发驱动程序依赖的变量. 9l run 仅通过固定环境进行测试:

    9l run tests/login.spec.ts --sdk --target android:app \
      --pass-env ANDROID_HOME,JAVA_HOME,NINELIVES_ANDROID_TOOLS
    

    前进 ANDROID_SDK_ROOT, (中文(简体) ), ANDROID_AVD_HOME 或者说 HOMEBREW_PREFIX 如果 您的 SDK 或 AVD 是通过它们找到的. 9l doctor --android 说哪一个.

驱动程序在会话时持有设备唯一的 UI 自定义连接 打开了,所以一个光谱面 adb shell uiautomator dump 返回无。 使用 代之以固定的操作,和 app.deviceSerial() 用于其他adb命令.

许可证

阿帕奇2.0 (英语). 软件包包括 LICENSE 财务报告和审定财务报表 NOTICE。 。 。 .

版本与发布记录

@9l/playwright 共发布 27 个版本,首次发布于 2026/10/08;过去 12 个月发布了 27 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.6.0latest2026/11/08今天
0.6.0-beta.4beta2026/11/053 天前
0.6.0-beta.32026/11/043 天前
0.6.0-beta.22026/11/035 天前
0.6.0-beta.12026/10/309 天前
0.6.0-beta2026/10/2910 天前

关于 @9l/playwright 的常见问题

@9l/playwright 是什么?

Playwright 定着和版本 9lives 去引擎桥

如何安装 @9l/playwright?

在项目目录运行 npm install @9l/playwright,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@playwright/test(>=1.61.1 <2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@9l/playwright 支持 TypeScript 吗?

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

@9l/playwright 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@9l/playwright 需要什么版本的 Node.js?

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

@9l/playwright 可以商用吗?

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

@9l/playwright 的下载量有多少?

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

@9l/playwright 还在维护吗?

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