跳到内容
新问题

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

单击“注册GitHub”,表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

可共享的性能测试实用程序 #55852

正常开放
快蜘蛛的已打开此问题2023年11月3日·4条评论
正常开放

可共享的性能测试实用程序 #55852

快蜘蛛的已打开此问题2023年11月3日·4条评论
标签
[软件包]E2E测试实用程序 /包/e2e-test-utils [类型]自动测试 测试基础架构更改会影响端到端(E2E)和/或单元测试的执行。 [类型]讨论 对于高级别且尚未准备好实施的问题。

评论

@瑞士风格
复制链接
成员

这解决了什么问题?

核心性能团队希望为更多项目采用性能测试作为其开发工作流的一部分铺平道路。到目前为止,我们已经为@wordpress/脚本并贡献了非常有用的韵律学灯塔固定装置至@wordpress/e2e测试实用程序剧作家。夹具的最新添加是#55660虽然到目前为止效果很好,但这只是工具链的一部分。

古腾堡、WordPress核心和第三方项目都使用类似的工具链来运行基于浏览器的性能测试:

  • 剧作家(通过@wordpress/脚本或直接)
  • 用于获取指标的专用工具(来自@wordpress/e2e测试实用程序剧作家)
  • 一些粘合代码将度量保存为测试附件
  • 自定义测试报告器,用于从附件中获取结果并将其保存到文件
  • 自定义CLI脚本,用于进一步解析和格式化结果文件,并可以选择将其与以前运行/版本的结果进行比较
    • Gutenberg甚至有一个脚本可以自动运行两个测试进行比较,其他项目(如core)现在可以通过GitHub Actions实现这一点

为了让事情变得简单,我已经开始创建示例存储库所涉及的内容,以及易于使用的GitHub Action用于性能测试特别是当你查看后者时,你可以看到有很多自定义代码,很多重复。

那么,我们如何解决这个问题?

你建议的解决方案是什么?

我们可以构建一个标准化的性能测试报告器和CLI脚本,并通过@wordpress/e2e测试实用程序剧作家或者可能是一个新的@wordpress/性能测试包裹。这样,想要设置性能测试的开发人员就不必复制所有样板文件,也可以从更新中受益。

另一种选择是让社区制定这样的方案。Core和Gutenberg可以保留现有的脚本,因为它们是非常独特的项目,可能希望保留更多的定制。

也许也根本没有必要,人们只需要一个GitHub操作作为一种抽象。

@瑞士风格 快蜘蛛的补充[类型]自动测试 测试基础架构更改会影响端到端(E2E)和/或单元测试的执行。 [软件包]E2E测试实用程序 /包/e2e-test-utils [类型]讨论 对于高级别且尚未准备好实施的问题。标签2023年11月3日
@瑞士风格
复制链接
成员 作者

复写的副本@凯文940726 @旺德·巴特 @马马杜卡

@felixarntz公司
复制链接
成员

我对我们是否使用@wordpress/e2e测试实用程序剧作家或新的@wordpress/性能测试(这可能在某种程度上取决于第一种情况)。后者可能更有意义来阐明目的,因为“e2e测试”一词并不表示它是关于性能测试/基准测试的。但这一决定还取决于技术上有何意义。

认为我们应该提供不仅仅是打包在GitHub Action中的实用程序。像您创建的那样的可重用GitHub Action肯定应该是所提供的整体解决方案的一部分,但这可能依赖于来自单独包的那些脚本。我认为我们还需要以一种可重用的方式提供脚本本身的主要原因是,有更多的自定义用例,其中可能一个尺寸-全部操作不可行,但一组尺寸-全部脚本可能可行。例如,WordPress核心不使用@文字新闻/env,但仍使用Playwright,并且可能会从一组统一的性能基准测试脚本/测试中受益。

@旺德·巴特
复制链接
成员

Pinging(Ping)@你知道riad,作为性能.js该脚本最初计划是一个独立的包(@wordpress/性能测试?) 用于对任何项目运行性能测试。我认为这仍然值得追求,因此可能存在一些重叠。

@凯文940726
复制链接
成员

我在这里没有强烈的偏好。欢迎任何贡献!我想可以把它放进去e2e-test-utils剧作家只要它是可选的,并且必须是可选的。我们可能希望将包重命名为类似的名称剧作家无论如何,在未来,但那还没有决定。

免费注册 在GitHub上加入此对话.已经有帐户了吗?登录以发表评论
标签
[软件包]E2E测试实用程序 /包/e2e-test-utils [类型]自动测试 测试基础架构更改会影响端到端(E2E)和/或单元测试的执行。 [类型]讨论 对于高级别且尚未准备好实施的问题。
项目
还没有
开发

没有分支或拉请求

4名参与者