本文档概述了将Jest+Puppeter测试迁移到剧作家的典型流程。请注意,迁移过程也是重构或重写部分测试的好机会。请阅读最佳实践开始迁移之前,请参阅指南。
- 选择要迁移的测试套件
包/e2e测试/规范
,重命名.test.js(测试.js)
进入之内.规范.js
并将其放在内部相同的文件夹结构中测试/e2e/specs
.
- 需要来自的测试助手
@wordpress/e2e测试实用程序剧作家
:
js型
const{test,expect}=require('@wordpress/e2e-test-utils-pathlight');
- 更改的所有事件
描述
,beforeAll之前
,before每个
,在每个之后
和在所有之后
使用测试。
前缀。例如,描述
变成测试描述
.
- 使用夹具API需要以前的全局变量,如
第页
和浏览器
.
- 删除的所有导入
e2e测试装置
相反,使用fixtures API直接获取管理员
,编辑
,页面实用程序
和请求实用程序
(然而,管理员
,编辑
和页面实用程序
不允许在beforeAll之前
和在所有之后
,使用重写请求实用程序
相反。)
- 如果缺少util,如果只有几个步骤,请尝试直接在测试中内联操作。如果您认为它应该作为测试实用程序实现,那么请遵循指导如下所示。
- 根据建议手动迁移测试中的其他详细信息最佳实践请注意,尽管Playwright和Puppeter的API差异相似,但仍需要进行一些手动更改。
在迁移测试实用程序函数之前,请仔细考虑它是否必要。Playwright提供了许多可读且功能强大的API,这使得许多utils过时了。首先尝试在测试中直接内联实现相同的东西。只有在不适合你的情况下,才能遵循以下指南。值得在e2e-test-utils剧作家
软件包包括复杂的浏览器API(如页面实用程序.drag文件
和页面实用程序.按键
)和设置状态的API(请求实用程序*
).
这个e2e-test-utils剧作家
该套装并不是Jest+Puppeter的替代品e2e测试装置
包裹。创建一些实用程序只是为了简化迁移过程,但它们并不一定是必需的。
剧作家实用程序的组织方式与e2e测试装置
包裹。这个e2e-test-utils剧作家
包中包含以下文件夹,utils被划分到这些文件夹中:
–管理员
–与WordPress管理员或WordPres管理员用户界面相关的实用程序(例如。访问管理员页面
).
–编辑
–块编辑器的实用程序(例如。单击块工具栏按钮
).
–页面实用程序
–与浏览器交互的通用实用程序(例如。按按键
).
–请求实用程序
–用于发出REST API请求的实用程序(例如。激活插件
). 这些实用程序用于设置和拆卸测试。
- 将现有文件复制到
e2e测试装置
并将其粘贴到管理员
,编辑
,第页
或请求
中的文件夹e2e-test-utils剧作家
取决于util的类型。
- 更新util中需要重写的任何部分:
- 这个
第页
和浏览器
变量在中可用管理员
,编辑
和页面实用程序
作为这一页
和此浏览器
.
- 同一类中的所有其他实用程序都可以在中找到
这
并绑定到同一实例。您可以删除任何进口
语句和用法这
以访问它们。
- 如果您愿意,可以考虑更新util以使用TypeScript。
- 将新迁移的util导入
索引.ts
然后把它放在行政
/编辑器
/页面实用程序
/请求Utils
类作为实例字段。