为什么是Playwright?
Playwright可以在所有现代浏览器上实现快速、可靠和有能力的自动化。本指南涵盖了这些关键的差异化因素,以帮助您决定自动化测试的正确工具。
#
支持所有浏览器- 在Chromium, Firefox 和 WebKit上测试。Playwright对所有的现代浏览器都有完整的API覆盖,包括谷歌Chrome和微软Edge(含Chromium),苹果Safari(含WebKit)和Mozilla Firefox。
- 跨平台WebKit测试. 使用Playwright,测试你的应用程序在Apple Safari中的表现,并为Windows、Linux和macOS构建WebKit。在本地和CI上进行测试。
- 测试移动。使用 device emulation在移动网络浏览器中测试您的响应式 Web 应用程序。
- 无头和有头。Playwright支持所有浏览器和所有平台的headless(无浏览器UI)和headful(有浏览器UI)模式。Headful非常适合调试,而headless则更快,适合CI/cloud执行。
#
快速可靠的执行- 自动等待API。扮演者交互auto-wait for elements要准备好。这提高了可靠性并简化了测试编写。
- 免超时自动化。Playwright接收浏览器信号,如网络请求、页面导航和页面加载事件,以消除导致flakiness的睡眠超时需求。
- 使用浏览器上下文进行精益并行化。为多个并行化的隔离执行环境重用一个浏览器实例browser contexts.
- 弹性元素选择器。Playwright可以依靠面向用户的字符串,如文本内容和可访问性标签来select elements。这些字符串比与DOM结构紧密耦合的选择器更有弹性。
#
强大的自动化功能- 多域、多页面、多框架。Playwright是一个流程外的自动化驱动,它不受页面内JavaScript执行范围的限制,可以自动处理multiple pages的场景。
- 强大的网络控制。Playwright引入了上下文范围内的network interception来存根和模拟网络请求。
- 现代web特性。Playwright通过shadow-piercing selectors、geolocation, permissions、web workers和其他现代web API支持web组件。
- 覆盖所有场景的能力。支持file downloads和uploads,进程外iframe,本地input events,甚至dark mode。
#
与您的工作流程集成- 单行本安装, 。运行
npm i playwright
自动下载浏览器依赖关系,让您的团队快速上手。 - 支持TypeScript。Playwright内置了自动完成和其他优点的类型。
- 调试工具。Playwright与editor debugger and browser developer tools一起工作,暂停执行并检查网页。
- 语文装订。此外,可在 Python和 C#中使用 Playwright 。了解 supported languages.
- 将测试部署到CI。第一方Docker image和GitHub Actions部署测试到your preferred CI/CD provider。
#
限制- 支持传统的Edge和IE11.Playwright不支持传统的Microsoft Edge或IE11(deprecation notice)。Playwright 不支持传统的 Microsoft Edge 或 IE11 (deprecation notice)。支持新的Microsoft Edge (在Chromium上).Playwright不支持传统的Microsoft Edge或IE11(deprecation notice)。
- Java 语言绑定: Playwright API 目前不能在 Java 或 Ruby 中使用。这是一个暂时的限制,因为Playwright支持任何语言的绑定。
- 在真实移动设备上测试: Playwright使用桌面浏览器来模拟移动设备。如果您有兴趣在真实的移动设备上运行,请 upvote this issue.