使用 Playwright,您可以编写在 Chrome、Firefox 和 WebKit 中运行的端到端测试。 通过使用 Chrome 开发者工具(DevTools)协议(CDP),Playwright 可以提供新功能并消除 WebDriver 中出现的许多问题。 基于 Chromium 的浏览器直接实现了 CDP。不过,为了支持 Firefox 和 Webkit,Playwright 团队不得不向这些浏览器提交补丁,这有时可能会限制框架。
Playwright 的功能包括:内置自动等待,这使得测试更可靠、更易于理解; 浏览器上下文,可让您测试跨标签页的持久会话是否正常工作;以及模拟通知、地理位置和黑暗模式设置的能力。 Playwright 为测试套件带来的稳定性给我们的团队留下了深刻印象,并且喜欢它可以并行运行测试以更快地获得反馈。 Playwright 的其他特色包括更好地支持懒加载和追踪。 尽管 Playwright 有一些局限性(例如,组件支持目前处于实验阶段),但我们的团队认为它是首选的测试框架,甚至在某些情况下会从Cypress 和 Puppeteer 上迁移过来。
Playwright允许你使用同一套API,为Chromium,Firefox和WebKit编写Web UI测试。由于对所有主流浏览器引擎的支持(包括Firefox和WebKit的修复版本),这个工具已经引起了一些关注。我们持续听到关于Playwright积极的使用体验和反馈,尤其是它的稳定性。一些团队发现从Puppeteer迁移到Playwright也非常容易,因为它们的API非常相似。
Web UI 测试一直是一片活跃的疆域。 Puppeteer 的部分缔造者在转向微软后,开始将所学投用在 Playwright。它可以让你通过相同的API,为Chromium、Firefox以及 WebKit 编写测试。因为对所有主流浏览器引擎的支持,Playwright 成功获得了一些关注,并作为补丁版本包含在 Firefox 和 Webkit 中。其他工具将如何赶上,让我们拭目以待,毕竟现在 Chrome DevTools Protocol 作为自动操作浏览器的通用 API,正在获得越来越多的支持。