不使用云端测试网格,也能运行跨浏览器测试吗?
可以,前提是使用 Playwright 随附的浏览器。通过一个配置文件,就能在你自己的机器上并行运行 Chromium、Firefox、WebKit 和手机模拟。本地运行无法提供的是 Mac 或 iPhone 上真正的 Safari,以及你并不拥有的实体设备。下面的示例在一台 Windows 11 笔记本电脑上运行了四个浏览器项目,耗时不到 14 秒。
由 Verdict System LLC 的 Nexus Studio 团队撰写。2026年10月27日。
云端测试网格能带来什么?
三类资源:你没有的浏览器和操作系统、实体设备,以及超出你自己机器能力的并行运行资源。第一类需求中的跨浏览器引擎运行同一测试,可以在本地实现。
有可以运行的示例让我试试吗?
将其保存为 playwright.config.js. 它声明了四个项目,并允许三个工作进程并行运行这些项目。
import { devices } from '@playwright/test';
export default {
workers: 3,
reporter: 'list',
projects: [
{ name: 'chromium', use: devices['Desktop Chrome'] },
{ name: 'firefox', use: devices['Desktop Firefox'] },
{ name: 'webkit', use: devices['Desktop Safari'] },
{ name: 'phone', use: devices['Pixel 7'] },
],
};
将其保存为 grid.spec.js. 它无需联网:直接用字符串渲染页面。
import { test, expect } from '@playwright/test';
test('the page renders in this browser', async ({ page, browserName }) => {
await page.setContent('<h1>Hello</h1><p id="ua"></p><script>ua.textContent = navigator.userAgent</script>');
await expect(page.locator('h1')).toHaveText('Hello');
console.log(browserName, await page.locator('#ua').textContent());
});
安装一次浏览器,然后运行:
npx playwright install
npx playwright test
本次运行输出如下。各行按工作进程完成的顺序输出,而不是配置中的顺序:
Running 4 tests using 3 workers
ok 1 [chromium] › grid.spec.js:3:1 › the page renders in this browser (1.6s)
ok 3 [webkit] › grid.spec.js:3:1 › the page renders in this browser (2.3s)
ok 4 [phone] › grid.spec.js:3:1 › the page renders in this browser (328ms)
ok 2 [firefox] › grid.spec.js:3:1 › the page renders in this browser (3.0s)
4 passed (8.6s)
在一台搭载 AMD Ryzen 5 7520U、运行 Windows 11 的笔记本电脑上,三次运行分别耗时 8.6、10.6 和 13.5 秒。你的运行时间会因处理器和内存而异。
哪些内容无法在我自己的机器上运行?
- 真正的 Safari. 无论在 Windows 还是 Mac 上,Playwright 的 WebKit 都只是浏览器引擎的构建版本,而非 Safari 应用。如果某个缺陷只在 macOS 或 iOS 上的真正 Safari 中出现,就需要使用该浏览器。
- iPhone 和 iPad. 手机模拟会设置屏幕、用户代理和触控,但并不等于真实设备。Nexus Studio 可在通过 USB 连接到电脑的真实 Android 手机上运行测试。它不支持在 iPhone 上运行测试。
- 旧版本测试矩阵。 你能使用的是 Playwright 安装的浏览器版本,而不是每种操作系统的所有版本。
如果这些对你很重要,那么这部分需求适合使用云端测试网格或设备实验室,与 BrowserStack 和 Sauce Labs 的对比介绍了各自的适用场景。
Nexus Studio 适用于什么场景?
Nexus Studio 是一款 Windows 11 桌面应用,可在你自己的机器上运行 Playwright、Selenium 和 pytest 测试。它还提供录制器、定时运行、14 种判定结果以及每次运行的证据,证据会保留在你的磁盘上。它按机器收费,提供 30 天免费试用。如果你需要实体 iPhone,它无法替代云端测试网格。 自托管 Playwright 指南介绍了如何在 Docker 或 Linux 服务器上运行相同的测试。
有哪些局限?
- 这些耗时数据来自一台笔记本电脑,示例也没有进行任何网络访问。真实网站还会增加自身的加载时间。
- 首次执行
npx playwright install会下载浏览器,Nexus Studio 随附版本的下载量约为 1.2 GB,因此这次运行需要联网。 - 根据引擎自身的估算,每个浏览器需要约 0.5 GB 可用内存,因此工作进程数量受内存容量限制,而 Nexus Studio 要求至少 16 GB 内存。
在哪里可以看到?
自有基础设施页面说明了哪些内容会保留在你的机器上,以及使用托管测试网格需要多少费用,入门指南则列出了系统要求。 30 天试用版可以运行相同的测试,并提供判定结果和证据。