You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Playwright测试失败时如何自定义上报更多上下文错误提示信息?

expect自定义错误提示用法

Playwright 原生支持测试失败时自定义错误提示,你需要的自定义字符串需作为断言 matcher 的第二个参数传入,而非 expect 的入参,示例如下:

var i = 0;
var j = 0;
expect(i / j).toBe(5, `failed when dividing ${i} ${j}`)

配置后自定义字符串会直接显示在控制台错误信息的顶部,无需额外适配。

test.step内容不显示解决方案

你遇到的step文本一闪而过的问题,是默认终端报告的输出逻辑导致的,可通过两种方式修复:

  • 终端输出配置:在 playwright.config.ts 中开启list reporter的步骤打印配置,失败用例的所有执行步骤会完整保留在错误日志中:
import { defineConfig } from '@playwright/test';

export default defineConfig({
  reporter: [['list', { printSteps: true }]],
});
  • 持久化报告排查:配置html reporter,生成的html报告中会完整保存所有用例的执行步骤、请求日志、错误截图、执行trace等全量上下文,可随时回溯测试过程。

更多自定义上下文上报方式

如果需要附加更多非错误提示类的上下文信息到报告中,可使用测试实例内置方法实现:

  • 给测试添加自定义标注:
test("Test name", async ({ page }) => {
  test.info().annotations.push({ 
    type: '测试上下文', 
    description: '本次测试入参i=0,j=0,测试除零场景' 
  });
});
  • 附加自定义变量/日志作为附件:
test("Test name", async ({ page }) => {
  const testContext = { i: 0, j: 0, env: process.env.NODE_ENV };
  await test.info().attach('test-context.json', {
    body: JSON.stringify(testContext, null, 2),
    contentType: 'application/json'
  });
});

以上附加内容均可在html报告的对应用例详情页直接查看。


内容的提问来源于stack exchange,提问作者user1529413

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:48:03