升级您的 Playwright E2E 测试

添加 @artilleryio/playwright-reporter 到您的 Playwright 项目 获取 :
- 用于 Playwright 测试报告的云仪表板
- 实时报告截图、痕迹和附件
- 自动跟踪Web维生性能衡量标准
- 有痕迹的调试 CI 失败
- GitHub 动作与 PR 注释集成
开始一个免费的炮兵云帐号 https://app.artillery.io (英语)
学多点
使用量
安装记者
添加 @artilleryio/playwright-reporter 到您的项目作为 dev 依赖:
npm install -D @artilleryio/playwright-reporter
启用记者
启用您 Playwright 配置中的记者( T)playwright.config.ts:
const config: PlaywrightTestConfig = {
reporter: [
['@artilleryio/playwright-reporter', { name: 'My Test Suite' }],
],
// ... rest of your config
};
[注] 从记者的更早版本升级? 这个
blob记者不再需要使用@artilleryio/playwright-reporter。您可以在您配置中的记者名单上删除它.
设定您的炮兵云 API 密钥
签入"炮兵云"(免费)并创建API键: https://app.artillery.io/ settings/api-keys 互联网档案馆的存檔,存档日期2014-12-22。 。 。 .
然后导出您的 ARTILLERY_CLOUD_API_KEY数字 :
export ARTILLERY_CLOUD_API_KEY=a9_your_api_key
运行您的剧作家测试
npx playwright test
测试开始后,记者会将测试运行的URL打印到控制台. URL会像这样:
https://app.artillery.io/b9j745e5cx4yrxcrb4qwpfty7p8r3/playwright/pwzxhq_abcdefabcdefghi_7atf
您可以实时在"炮兵云"中跟踪测试运行进度,每次测试都有截图和痕迹.
GitHub 动作
当记者被使用在一个 GitHub Action 工作流程中时,它可以随测试结果向PR发布评论. 要启用 PR 注释, 设置 GITHUB_TOKEN 您运行 Playwright 测试的 GitHub 动作工作中的环境变量 :
jobs:
test:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Run Playwright tests
env:
ARTILLERY_CLOUD_API_KEY: "${{ secrets.ARTILLERY_CLOUD_API_KEY }}" # API key to send results to Artillery Cloud
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Enable PR comments
run: npx playwright test
使用Web Vitus进行性能跟踪(实验性)
您可以配置测试以跟踪 网络维度 自动为您测试的每个页面( LCP, CLS, FCP, TTFB, 和INP) .
为了能够进行性能跟踪,请使用 withPerformanceTracking() 扩展 Playwright 内置的方法 test 函数 :
// Rename the "test" import from @playwright/test to "base":
import { test as base } from '@playwright/test';
// Import the withPerformanceTracking function:
import { withPerformanceTracking } from '@artilleryio/playwright-reporter';
// Extend the base test function with performance tracking. This needs to be at the top before using test()
const test = withPerformanceTracking(base);
// The rest of your tests remain the same, e.g.:
test('has title', async ({ page }) => {
await page.goto('https://playwright.dev/');
await expect(page).toHaveTitle(/Playwright/);
});
截图
| 报告概览 | 除错出错 |
|---|---|
![]() | ![]() |
目前的限制
- 以已磨损模式运行的测试尚未得到充分支持 。 每跑一跑都会在"炮兵云"中产生多份部分报告,每分一分. 我们很快会释放出全力支持被压抑的跑道.
路线图
这些是我们正在积极从事的一些工作。 如果你有特别要求或想法,请告诉我们 支持@ artillery.io。 。 。 .
- 完全支持软化测试运行
- 更好的 GitHub 动作整合
许可证
炮兵云游剧作家记者根据FSL-1.1-ALv2获得许可 公平来源许可证见 LICENSE.txt (英语) 详细文件.

