用于 WordPress 的端到端 (E2E) Playwright 测试工具。

它与最低版本的 Gutenberg 9.2.0 或最低版本的 WordPress 5.6.0 配合使用效果良好。

该软件包仍在积极开发中。文档可能不是最新的,v0.x 版本可能会在没有详细迁移指南的情况下引入破坏性更改。鼓励早期采用者使用锁定文件以防止意外中断。

安装

安装模块

npm install @wordpress/e2e-test-utils-playwright --save-dev

注意:此软件包需要具有长期支持状态(LTS)的 Node.js 版本(请参阅Active LTS 或 Maintenance LTS 版本)。它与旧版本不兼容。

API

test

扩展了 Playwright 的test 模块,包含 admin、editor、pageUtils 和 requestUtils fixtures。

expect

Playwright/Jest 的expect 函数。

Admin

用于 WordPress 管理用户界面的端到端测试工具。

const admin = new Admin( { page, pageUtils } );
await admin.visitAdminPage( 'options-general.php' );

Editor

用于 WordPress 块编辑器的端到端测试工具。

要使用这些工具,请在每个测试文件中实例化它们:

test.use( {
    editor: async ( { page }, use ) => {
        await use( new Editor( { page } ) );
    },
} );

在测试或测试工具内部,使用 canvas 属性来选择 iframe 画布内的元素:

await editor.canvas.locator( 'role=document[name="Paragraph block"i]' );

PageUtils

用于与网页交互的通用 Playwright 工具。

const pageUtils = new PageUtils( { page } );
await pageUtils.pressKeys( 'primary+a' );

RequestUtils

用于与 WordPress REST API 交互的 Playwright 工具。

创建请求工具实例。

const requestUtils = await RequestUtils.setup( {
    user: {
        username: 'admin',
        password: 'password',
    },
} );

为此软件包做贡献

这是 Gutenberg 项目的一部分个人软件包。该项目组织为 monorepo。它由多个自包含的软件包组成,每个软件包都有特定的用途。此 monorepo 中的软件包发布到 npm,并被 WordPress 以及其他软件项目使用。

要了解有关为此软件包或整个 Gutenberg 做出贡献的更多信息,请阅读项目的主要贡献者指南。