Android 开发者 2024年10月30日
正式就绪 | Firefox、Chrome 和 Puppeteer 已支持 WebDriver BiDi
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

WebDriver BiDi 作为跨浏览器自动化的未来,在 BrowserStack 正式投入使用,并得到了 Firefox 129 和 Puppeteer 23 的生产就绪支持。Mozilla 长期致力于 WebDriver BiDi 的发展,并通过 Firefox WebDriver Newsletter 记录其进展。由于 WebDriver BiDi 现已在 Firefox 中正式投入使用,Puppeteer 从版本 23 开始,可通过 WebDriver BiDi 为 Firefox 提供稳定支持。

🚀 **WebDriver BiDi 在 BrowserStack 中正式投入使用**:WebDriver BiDi 作为一种新的自动化协议,已在 BrowserStack 平台上正式投入使用,为开发者提供了更强大的跨浏览器自动化工具。

🔥 **Firefox 129 和 Puppeteer 23 支持 WebDriver BiDi**:Firefox 129 版本正式支持 WebDriver BiDi,Puppeteer 从版本 23 开始,可通过 WebDriver BiDi 为 Firefox 提供稳定支持,让开发者可以使用相同的简洁 API 来自动化 Firefox 和 Chrome。

💡 **告别 CDP 支持,拥抱 WebDriver BiDi**:Firefox 将从 129 版本开始弃用 CDP 支持,计划于 2024 年底彻底移除。开发者应尽快迁移至 WebDriver BiDi,以确保自动化用例的稳定性。

🌐 **跨浏览器自动化的新时代**:WebDriver BiDi 的普及将为开发者带来更统一、更便捷的跨浏览器自动化体验,促进 Web 应用的开发和测试效率提升。

🤝 **团队合作推动技术进步**:Mozilla 和 Puppeteer 团队紧密合作,共同推动 WebDriver BiDi 在 Firefox 和 Chrome 中的应用,为开发者提供更完善的跨浏览器自动化解决方案。

Google 2024-10-30 17:30 北京

WebDriver BiDi 的持续进步推动了跨浏览器自动化的未来,并为开发者提供了更强大的工具集来构建和维护跨平台的自动化用例。

作者 / Matthias Rohmer


近期,我们与 BrowserStack 一起见证了 WebDriver BiDi 在 BrowserStack 中正式投入使用。并且 WebDriver BiDi 也继续得到了完善,Firefox 129 及 Puppeteer 23 均已获得对 WebDriver BiDi 的生产就绪 (production-ready) 支持!


? 在 BrowserStack 中正式投入使用

https://developer.chrome.google.cn/blog/webdriver-bidi-support-in-browserstack

? WebDriver BiDi

https://developer.chrome.google.cn/blog/webdriver-bidi


四年多来,Mozilla 一直是 WebDriver BiDi 的重要合作伙伴,在初期帮助制定了新标准,然后在 Firefox 中逐步实现,并通过 Firefox WebDriver Newsletter 清晰地记录了他们的进展。


? Firefox WebDriver Newsletter

https://fxdx.dev/category/remote-protocols/webdriver-bidi/


由于 WebDriver BiDi 现已在 Firefox 中正式投入使用,Puppeteer 从版本 23 开始,可通过 WebDriver BiDi 为 Firefox 提供稳定支持。这样,您便可使用与 Chrome 相同的简洁 API 将 Firefox 自动化。Puppeteer 对 Chrome 开发者工具协议 (CDP) 的支持保持不变。


提示:如要进一步了解 WebDriver BiDi,请参阅 WebDriver BiDi-跨浏览器自动化的未来


? WebDriver BiDi-跨浏览器自动化的未来

https://developer.chrome.google.cn/blog/webdriver-bidi



Firefox、CDP 和 Puppeteer


Puppeteer 是开发者使用 Chrome 开发者工具协议 (CDP) 将基于 Chromium 的浏览器自动化的可靠工具。2019 年,Puppeteer 获得了对 Firefox 的实验性支持。


为此,Mozilla 在 Firefox 中实施并维护了一个 CDP 子集。此解决方案能让 Firefox 通过 Puppeteer API 实现自动化,但也有一些注意事项:


虽然我们很高兴在过去几年中与 Mozilla 一起维护此支持,但我们深知这并非长久之计。以此合作伙伴关系为基础,再联合其他主要的浏览器和工具供应商,我们共同构建了 WebDriver BiDi。


? 联合其他主要的浏览器和工具供应商

https://www.w3.org/groups/wg/browser-tools-testing/


提示:如需进一步了解 WebDriver BiDi 的发展历程,请参阅回顾过往:测试自动化的演变和发展


? 回顾过往:测试自动化的演变和发展

https://developer.chrome.google.cn/blog/test-automation-evolution



团队合作成就梦想


Firefox 团队一直致力在 Firefox 中实施 WebDriver BiDi。与此同时,Puppeteer 团队一直在扩展对 Puppeteer API 的 WebDriver BiDi 支持。两个团队共同努力的目标是借助 Puppeteer 中的 WebDriver BiDi 为生产自动化用例提供所有所需的可用 API,确保这些 API 在 Chrome 和 Firefox 中均受到支持。

△ 共享团队信息中心展示了过去几个月通过测试的数量。

如此,Puppeteer 用户便能在启动 Puppeteer 实例时指定 browser 配置键值,从而选择 Firefox 或 Chrome 来实现自动化。

import puppeteer from 'puppeteer';
const firefoxBrowser = await puppeteer.launch({ browser: 'firefox', // WebDriver BiDi is used by default in Firefox.});const page = await firefoxBrowser.newPage();...await firefoxBrowser.close();
const chromeBrowser = await puppeteer.launch({ browser: 'chrome', protocol: 'webDriverBiDi', // CDP would be used by default for Chrome.});const page = await chromeBrowser.newPage();...await chromeBrowser.close();


如要进一步了解 Firefox 129 全新功能以及 Mozilla 在 WebDriver BiDi 方面的工作进展,请参阅相关的 Mozilla Hacks 博文


? Mozilla Hacks 博文

https://hacks.mozilla.org/2024/08/puppeteer-support-for-firefox/



未来的 CDP 支持


上述代码段显示了,要借助 Puppeteer 使用 WebDriver BiDi 实现 Chrome 自动化,您需要将 protocol 明确设置为 webDriverBiDi。这是因为对于 Chrome,Puppeteer 将始终默认使用 CDP,从而防止现有自动化受到影响,并同时继续支持专门针对 Chrome 功能而构建的自动化。


提示:如要进一步了解 Chrome、Firefox、CDP 和 WebDriver BiDi 支持的 Puppeteer API,请参阅 Puppeteer 文档


? Puppeteer 文档

https://pptr.dev/webdriver-bidi


从 Firefox 129 版本开始,Firefox 将弃用 CDP 支持,并计划于 2024 年底移除该支持。如果您现有的自动化依赖于 Firefox 中的 CDP 支持,我们强烈建议您迁移至 WebDriver BiDi。如果无法实现,请通过 dev-webdriver@mozilla.org 与我们联系,分享您的用例。也欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态!


? 计划于 2024 年底移除该支持

https://fxdx.dev/deprecating-cdp-support-in-firefox-embracing-the-future-with-webdriver-bidi/



点击图片关注精彩活动




 点击屏末 阅读原文 | 了解有关 WebDriver BiDi 的更多信息




阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

WebDriver BiDi 跨浏览器自动化 Firefox Puppeteer CDP
相关文章