仅针对最新浏览器版本进行端到端测试有什么好处[关闭]

问题描述 投票:0回答:1

在使用Playwright、Puppeteer、Cypress等工具进行端到端测试时,我相信所有这些工具除了后者,如果我错了请原谅)只允许你使用最新版本与每个版本捆绑在一起的每个浏览器。

在这种情况下,我想知道运行端到端验收测试的真正好处是什么,这些测试只会针对更有限的场景验证功能,而不是确保您的应用程序仍然可以在 Chrome 70 上运行?

任何关于为什么只考虑最新的浏览器版本而忘记其余的都是一个好主意的见解,通过使用 Playwright 而不是允许针对特定浏览器二进制文件进行定向测试的工具,例如,并让您的 E2E 测试结果如下:

PASS. Shopping-Cart (Modern)
FAIL. Shopping-Cart (chrome 70) 
// Refactor

而不是

PASS. Shopping-Cart
// Yay! Release
puppeteer cypress e2e-testing playwright
1个回答
5
投票

木偶师、剧作家、具有特定可执行文件的 Cypress

首先,让我们澄清一下,在 Chrome/Chromium 的情况下,可以使用捆绑可执行文件以外的其他可执行文件来启动 Puppeteer 和 Playwright,因此它不是特定于 Cypress 的。

const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome70' });
const browser = await chromium.launch({ executablePath: '/path/to/Chrome70' });

其次,即使PuppeteerPlaywright的功能列表中存在“测试”,它们也不是测试框架,而Cypress主要是一个测试工具更新(2023):自从我写了这个答案以来,我对我的说法争论不休,即 Playwright 主要不是一个测试框架。它确实主要是一个测试框架,请参阅

@playwright/test
比常规
playwright
库本身更受欢迎。


仅针对最新浏览器版本进行端到端测试有什么好处?

几年前,跨所有浏览器和大量用户使用的尽可能多的版本进行测试至关重要。
随着时间的推移,情况发生了变化。

2021年有什么新变化?

  • Google ChromeSafari (Webkit) 浏览器拥有 10% 以上的市场份额。 Statcounter.com维基百科
  • 对于绝大多数人来说,甚至不需要 Firefox 支持(其 3.68% 的市场份额 全球)
  • “Windows 和 Mac 上的 Google Chrome 会定期自动更新。自动更新过程由 Google Update 执行,该更新基于开源 Omaha 项目。自动更新可修复有时出现的关键问题,限制暴露。” chromium.org
  • 由于自动更新,未使用最新 Chrome 的用户数量非常少。以前的版本(例如最后一个)会在 1-2 个月内停止流通,并在消失之前短时间内保持在 1% 以下的份额。 桌面浏览器版本全球市场份额,Statcounter.com

结论

I.) 这意味着对于大多数产品来说它已经足够了,并且是针对最新浏览器版本进行测试的最佳选择。

您提到了 Chrome 70,这是一个相对较旧的版本,于 2018 年 10 月发布,对于大多数产品而言,不需要支持它,它们与 Internet Explorer 11 或旧版 Edge 在同一桶中。

II.) 对于某些产品,您可能必须支持特定的(较旧的)浏览器版本,在这种情况下,使用特定的可执行文件会有所帮助。

顺便说一句,如果您决定针对多个浏览器版本运行测试,也可以使用 Puppeteer 或 Playwright,您只需要在迭代测试套件时提供正确的可执行文件(例如,在 Jest 的情况下:

describe.each()
可以运行相同的测试或具有不同配置和测试数据的测试套件)。

© www.soinside.com 2019 - 2024. All rights reserved.