Playwright 端到端(e2e)测试工具

简介: 一个与 Puppeteer 类似的端到端(e2e)测试工具

一个与 Puppeteer 类似的端到端(e2e)测试工具。

Playwright 为当代 Web 应用程序提供可靠的端到端测试。

支持所有浏览器

在 Chromium、Firefox 和 WebKit 上进行测试。Playwright 拥有适用于所有当代浏览器的完整 API,包括 Google Chrome 和 Microsoft Edge(带有Chromium)、Apple Safari(带有WebKit)和 Mozilla Firefox。

跨平台 WebKit 测试。借助 Playwright,使用适用于 Windows、Linux 和 macOS 的 WebKit 构建测试您的应用在 Apple Safari 中的行为。在本地和 CI 上进行测试。

测试手机。使用设备模拟在移动 Web 浏览器中测试您的响应式 Web 应用程序。

无头和有头。Playwright 支持所有浏览器和所有平台的无头(无浏览器 UI)和有头(带浏览器 UI)模式。Headed 非常适合调试,而 Headless 速度更快,适合 CI/云执行。

快速可靠的执行

自动等待 API。Playwright 动会自动等待元素准备就绪。这提高了可靠性并简化了测试编写。

无超时自动化。Playwright 接收浏览器信号,如网络请求、页面导航和页面加载事件,以消除导致不稳定的睡眠超时的需要。

使用浏览器上下文快速隔离。将单个浏览器实例重用于具有浏览器上下文的多个隔离执行环境。

弹性元素选择器。Playwright 可以依靠面向用户的字符串(如文本内容和可访问性标签)来选择元素。这些字符串比紧密耦合到 DOM 结构的选择器更有弹性。

强大的自动化功能

多个域、页面和框架。Playwright 是一个进程外自动化驱动,不受页内 JavaScript 执行范围的限制,可以自动化多页面场景。

强大的网络控制。Playwright 引入了上下文范围的网络拦截来存根和模拟网络请求。

当代浏览器功能特性。Playwright 支持 web components、地理定位、权限、 web workers 和其他当代 web APIs.

覆盖所有场景的能力。支持文件下载和上传、进程外 iframe、本机输入事件,甚至暗黑模式。

安装

Playwright 有自己的测试运行器用于端到端测试,我们称之为 Playwright 测试。

npm i -D @playwright/test
# install supported browsers
npx playwright install

您可以选择仅安装选定的浏览器

第一次测试

创建 tests/foo.spec.js(或 tests/foo.spec.ts 用于 TypeScript)来定义您的测试。

import { test, expect } from '@playwright/test';

test('basic test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  const title = page.locator('.navbar__inner .navbar__title');
  await expect(title).toHaveText('Playwright');
});

现在运行您的测试,假设测试文件在tests目录中。

npx playwright test

Playwright Test 刚刚使用 Chromium 浏览器以无头方式运行了一个测试。让我们告诉它使用有头浏览器:

npx playwright test --headed

其他浏览器呢?让我们使用 Firefox 运行相同的测试:

npx playwright test --browser=firefox

最后,在所有浏览器上测试:

npx playwright test --browser=all
相关文章
|
6月前
|
测试技术 Shell API
Playwright系列(3):运行测试用例
Playwright系列(3):运行测试用例
203 1
|
6月前
|
测试技术 Python
Playwright系列(4):录制测试脚本
Playwright系列(4):录制测试脚本
196 0
|
16天前
|
Web App开发 测试技术 API
Playwright 测试报告中显示的标签和注释。
Playwright 测试报告中显示的标签和注释。
87 57
|
13天前
|
JSON 测试技术 数据格式
Playwright 测试报告器
Playwright 测试报告器
27 4
|
13天前
Playwright 测试重试
Playwright 测试重试
24 2
|
15天前
|
Web App开发 JavaScript 测试技术
Playwright 测试夹具
Playwright 测试夹具
10 1
|
15天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
17 1
|
14天前
|
Web App开发 数据库 索引
Playwright 测试并行性
Playwright 测试并行性
17 0
|
3月前
|
数据采集 测试技术 数据安全/隐私保护
Playwright测试中避免使用no-wait-for-timeout的原因
在Web应用自动化测试中,Playwright作为首选框架,其稳定性至关重要。不当使用`no-wait-for-timeout`会导致测试结果不稳定、不符合真实用户体验且难以调试。推荐采用显式等待策略和合理设置超时时间,结合代理IP技术提高测试成功率和数据多样性。示例代码展示了如何在Playwright中配置代理IP进行数据抓取及分类统计。遵循这些最佳实践可确保测试既可靠又贴近实际用户场景。
223 4
Playwright测试中避免使用no-wait-for-timeout的原因
|
6月前
|
IDE 测试技术 开发工具
从零开始:使用 Playwright 脚本录制实现自动化测试
Playwright提供了一种便捷的脚本录制功能,类似于Selenium IDE。通过运行`playwright codegen`命令,你可以启动一个浏览器并记录你的操作,生成Python或异步代码。在示例中,展示了如何录制登录百度的过程,生成的代码可以直接用于自动化测试。Playwright Inspector允许你编辑和转换测试代码,支持生成Pytest格式的测试用例,方便Python开发者使用。这个功能使Playwright成为强大的Web自动化测试工具。