如何使用playwright-qase-reporter检查QASE测试用例步骤?
如何在Playwright中配合qase-reporter校验测试用例步骤
要在使用playwright-qase-reporter时校验并上报QASE测试用例的步骤,你可以通过以下两种方式实现:
方式一:使用qase提供的qase.step()方法
通过qase.step()显式包裹每个测试步骤,该方法会自动将步骤的执行状态(成功/失败)同步到QASE平台。每个步骤内应包含对应的断言,确保步骤执行符合预期。
示例代码:
import { test, expect } from '@playwright/test'; import { qase } from 'playwright-qase-reporter'; test.describe('Test suite', () => { test(qase(4, 'Several ids'), async ({ page }) => { // 步骤1:打开目标页面并验证标题 await qase.step('打开目标页面', async () => { await page.goto('/'); await expect(page).toHaveTitle('预期页面标题'); }); // 步骤2:执行操作并验证结果 await qase.step('提交表单并验证成功提示', async () => { await page.fill('#username', 'test-user'); await page.click('#submit-btn'); await expect(page.locator('#success-alert')).toBeVisible(); }); }); });
- 如果步骤内的断言失败,该步骤会在QASE中标记为失败,且测试会终止(除非配置了继续执行)。
- 步骤名称可以和QASE平台中预定义的用例步骤名称保持一致,便于直接映射。
方式二:结合Playwright原生test.step()实现步骤同步
如果你习惯使用Playwright内置的test.step(),只需在配置中启用步骤捕获,即可自动将这些步骤同步到QASE。
1. 配置Playwright的qase-reporter
在playwright.config.ts中添加steps: true配置:
import { defineConfig } from '@playwright/test'; export default defineConfig({ reporter: [ ['list'], ['qase-playwright', { apiToken: '你的QASE API令牌', projectCode: '你的QASE项目编码', steps: true, // 启用步骤自动捕获 runComplete: true, }] ], });
2. 编写带步骤的测试用例
使用test.step()包裹每个测试步骤,并添加断言:
import { test, expect } from '@playwright/test'; import { qase } from 'playwright-qase-reporter'; test.describe('Test suite', () => { test(qase(4, 'Several ids'), async ({ page }) => { await test.step('打开目标页面', async () => { await page.goto('/'); await expect(page).toHaveTitle('预期页面标题'); }); await test.step('提交表单并验证结果', async () => { await page.fill('#username', 'test-user'); await page.click('#submit-btn'); await expect(page.locator('#success-alert')).toBeVisible(); }); }); });
关键注意事项
- 无论使用哪种方式,每个步骤都必须包含断言逻辑,否则无法验证步骤是否执行正确。
- 若QASE平台中已有预定义的用例步骤,建议保持代码中的步骤名称与平台一致,这样执行结果会直接对应到已有步骤上。
- 确保
playwright-qase-reporter版本为最新,避免因版本问题导致步骤同步失败。
内容的提问来源于stack exchange,提问作者Konstantin
相关产品推荐
相关产品推荐

