什么是Playwright
Playwright 为现代 Web 应用程序提供可靠的端到端测试
任何浏览器 - 任何平台 - 一个API
- 跨浏览器。Playwright支持所有现代渲染引擎,包括Chromium、WebKit和Firefox。
- 跨平台。在Windows、Linux和macOS上测试,在本地或CI上测试,无头或有头。
- 跨语言。在TypeScript、JavaScript、Python、.NET、Java中使用Playwright的API。
测试移动网络。原生移动模拟Google Chrome for Android和Mobile Safari。同样的渲染引擎在你的桌面和云端工作。
弹性—没有不稳定的测试
自动等待。Playwright在执行行动之前会等待元素的可操作性。它也有一套丰富的自省事件。两者的结合消除了对人工超时的需求—这是导致测试失灵的主要原因。
- 网络优先的断言。Playwright断言是专门为动态网络创建的。检查会自动重试,直到必要条件得到满足。
追踪。配置测试重试策略,捕获执行跟踪、视频、截图,以消除故障。
没有取舍 - 没有限制
浏览器在不同进程中运行属于不同来源的网络内容。Playwright与现代浏览器的架构相一致,在进程外运行测试。这使得Playwright摆脱了典型的进程内测试运行器的限制。
- 多样性。测试场景跨越多个标签、多个来源和多个用户。为不同的用户创建具有不同背景的场景,并针对你的服务器运行它们,所有这些都在一个测试中。
- 可信赖的事件。悬停元素,与动态控件互动,产生可信事件。Playwright使用真实的浏览器输入管道,与真实用户无异。
测试框架,穿透影子DOM。Playwright选择器穿透影子DOM,允许无缝进入框架。
完全隔离 - 快速执行
浏览器上下文。Playwright为每个测试创建一个浏览器上下文。浏览器上下文等同于一个全新的浏览器配置文件。这提供了完全的测试隔离和零开销。创建一个新的浏览器上下文只需要几毫秒的时间。
登录一次。保存上下文的认证状态,并在所有的测试中重复使用它。这绕过了每个测试中重复的登录操作,但提供了独立测试的完全隔离。
强大的工具
Codegen。通过记录你的动作来生成测试。将它们保存为任何语言。
- Playwright检查器。检查页面,生成选择器,通过测试执行的步骤,看到点击点,探索执行日志。
- 跟踪查看器。捕捉所有的信息来调查测试的失败。Playwright追踪器包含测试执行截屏,实时DOM快照,动作探索器,测试源,等等。
