迁移指南

本文档概述了将Jest+Puppeter测试迁移到剧作家的典型流程。请注意,迁移过程也是重构或重写部分测试的好机会。请阅读最佳实践开始迁移之前,请参阅指南。

测试的迁移步骤

  1. 选择要迁移的测试套件包/e2e测试/规范,重命名.test.js(测试.js)进入之内.规范.js并将其放在内部相同的文件夹结构中测试/e2e/specs.
  2. 需要来自的测试助手@wordpress/e2e测试实用程序剧作家:
    js型
    const{test,expect}=require('@wordpress/e2e-test-utils-pathlight');
  3. 更改的所有事件描述,beforeAll之前,before每个,在每个之后在所有之后使用测试。前缀。例如,描述变成测试描述.
  4. 使用夹具API需要以前的全局变量,如第页浏览器.
  5. 删除的所有导入e2e测试装置相反,使用fixtures API直接获取管理员,编辑,页面实用程序请求实用程序(然而,管理员,编辑页面实用程序不允许在beforeAll之前在所有之后,使用重写请求实用程序相反。)
  6. 如果缺少util,如果只有几个步骤,请尝试直接在测试中内联操作。如果您认为它应该作为测试实用程序实现,那么请遵循指导如下所示。
  7. 根据建议手动迁移测试中的其他详细信息最佳实践请注意,尽管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请求的实用程序(例如。激活插件). 这些实用程序用于设置和拆卸测试。

  1. 将现有文件复制到e2e测试装置并将其粘贴到管理员,编辑,第页请求中的文件夹e2e-test-utils剧作家取决于util的类型。
  2. 更新util中需要重写的任何部分:
    • 这个第页浏览器变量在中可用管理员,编辑页面实用程序作为这一页此浏览器.
    • 同一类中的所有其他实用程序都可以在中找到并绑定到同一实例。您可以删除任何进口语句和用法以访问它们。
    • 如果您愿意,可以考虑更新util以使用TypeScript。
  3. 将新迁移的util导入索引.ts然后把它放在行政/编辑器/页面实用程序/请求Utils类作为实例字段。