因此,微软发布了一个名为 Playwright 的基于 Node 的浏览器自动化项目。它允许您启动浏览器的无头版本并对其进行控制。转到此处!点击某个东西!截取屏幕截图!诸如此类的事情。对测试特别有用。
它就像 Google 的 Puppeteer 一样,只是它不仅限于 Chrome,而且在 Firefox 和 Safari 中也“有效”。
戏剧立即开始了。
Andrey Lushnikov(其 Twitter 简介为“前 Chrome Puppeteer 团队负责人,前 Chrome DevTools 工程师”)的 发布推文 收到了 Sam Sneddon 的回复,他 质疑 了跨浏览器兼容性。显然,这种兼容性是通过对这些其他浏览器进行 非常大的补丁 实现的,有些人认为这些补丁有点像纸牌屋,永远不会真正应用到这些其他浏览器中,尤其是在像 puppeteer-firefox 这样的竞争项目存在的情况下。
很明显,来自 Google 的 Puppeteer 原开发团队有点,呃,转投 微软,并在那里重新做了这项工作。一只小鸟告诉我,Google 对此非常生气。
我在这里没有其他内部信息,但这似乎并没有让微软看起来很好。对于一家在开源战略方面取得如此巨大成功的公司来说,聘用一个团队来构建一个直接竞争的替代开源项目,而没有与它集成的其他开源项目进行太多合作,这不是一个好兆头。同时,拥有一个允许跨浏览器无头控制的工作项目非常棒。
如果我理解错误,请随时告诉我。
这对我是个新闻,Cypress 即将支持 Firefox。该工单已经两年多了,我还没有看到任何证据。
这是我决定切换到其他框架的原因之一。因为在我使用它的环境中,我们需要在测试过程中支持其他浏览器。
从我的角度来看,Safari(macOS)和 Edge(Win)比 Firefox 更重要。
Cypress 在今年 2 月份添加了 Firefox 和 Edge 支持。查看 4.0 版本。
该团队的开发人员正在投入大量工作,为社区提供一个开源工具,以帮助进行跨浏览器测试。我在 QA Wolf 上试用了一下,我们所有的测试都通过了 Chromium、Firefox 和 Webkit。有一些极端情况下的错误,但 Playwright 开发人员在同一天解决了我在其上打开的问题。
也许 Google 不愿意投入资源来添加跨浏览器支持,而微软愿意。由于 Chrome 的原因,他们的动机不同。我认为假设他们有负面动机是不公平的。
关于补丁,Playwright 指出他们希望将这些补丁合并到上游。我不怪他们不想被此阻塞。
它是开源的,让竞争开始吧。当竞争可以带来更好的工具时,为什么要压制竞争?当然,如果他们能够合作会很棒,但如果没有,用户将拥有更多选择,从而获益。