用于 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 做出贡献的更多信息,请阅读项目的主要贡献者指南。