gpt4 book ai didi

puppeteer - 仅针对最新浏览器版本进行 E2E 测试有什么好处

转载 作者:行者123 更新时间:2023-12-03 22:59:40 24 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

7 个月前关闭。




Improve this question




当使用 Playwright、Puppeteer 和 Cypress 等工具执行端到端测试时,我相信所有这些( except the latter ,如果我错了,请原谅我)只允许您使用每个浏览器的最新版本与每个版本捆绑在一起。
在这种情况下,我想知道运行验收端到端测试的真正好处是什么,这些测试只会针对更有限的场景验证功能,而不是确保您的应用程序仍然可以在 Chrome 70 上运行?
通过使用 Playwright 而不是允许针对特定浏览器二进制文件进行定位测试的工具,任何关于为什么只考虑最近的浏览器版本而忘记其他浏览器版本的见解都是一个好主意,例如,您的 E2E 测试结果如下:

PASS. Shopping-Cart (Modern)
FAIL. Shopping-Cart (chrome 70)
// Refactor
代替
PASS. Shopping-Cart
// Yay! Release

最佳答案

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

  • puppeteer 师: puppeteer.launch([options])

  • const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome70' });
  • 编剧: browserType.launch([options])

  • const browser = await chromium.launch({ executablePath: '/path/to/Chrome70' });
    其次,即使 PuppeteerPlaywright 的功能列表中存在“测试”,它们也不是测试框架,而主要是 Cypress is a testing tool

    仅针对最新浏览器版本进行 E2E 测试有什么好处?
    几年前,在所有浏览器和大量用户使用的尽可能多的版本上进行测试至关重要。
    随着时间的推移,它已经改变了。
    2021 年有哪些新变化?
  • 只有 Google Chrome Safari (Webkit) 浏览器拥有 10% 以上的市场份额。 Statcounter.comWikpedia
  • 对于绝大多数甚至不需要 Firefox 支持(在全局范围内为 3.68% market share)
  • "Windows 和 Mac 上的 Google Chrome 定期自动更新自身 。自动更新程序由基于开源奥马哈项目的 Google Update 执行。自动更新提供对有时关键问题的修复,限制曝光。” chromium.org
  • 由于自动更新,使用非最新 Chrome 的用户数量非常少。以前的版本(例如 last-but-one)会在 1-2 个月内停止流通,并且在消失之前的短时间内保持在 1% 以下的份额。 Desktop Browser Version Market Share Worldwide, Statcounter.com

  • Desktop Browser Version Market Share Worldwide
    结论
    I.) 这意味着对于大多数产品来说,它已经足够并且是针对最新浏览器版本进行测试的最佳选择。
    您提到了 Chrome 70,它是一个相对较旧的版本 released in October 2018 ,对于大多数不需要支持它的产品,它们与 Internet Explorer 11 or legacy Edge 在同一个桶中。
    II.) 对于某些产品,您可能必须支持特定的(旧的)浏览器版本,在这种情况下,使用特定的可执行文件会有所帮助。
    顺便说一句,如果您决定针对多个浏览器版本运行测试,Puppeteer 或 Playwright 仍然可以,您只需要在迭代测试套件时提供正确的可执行文件(例如,在 Jest 的情况下: describe.each() 可以使用不同的配置和测试数据运行相同的测试或测试套件)。

    关于puppeteer - 仅针对最新浏览器版本进行 E2E 测试有什么好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67033300/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com