// 最小浏览器冒烟:验证本机 Chromium 能真实拉起并打开页面 const { test, expect } = require('@playwright/test'); test.describe('browser smoke', () => { test('Chromium 能启动并打开本地后端首页', async ({ page }) => { // 仅验证浏览器内核可用:访问本地后端根路径,确认有 HTTP 响应且页面上下文可执行 JS const resp = await page.goto('/', { waitUntil: 'domcontentloaded' }); expect(resp, '本地后端应返回响应').not.toBeNull(); expect(resp.status(), 'HTTP 状态码应为 2xx/3xx').toBeLessThan(500); // 在真实页面上下文执行 JS,证明是真实浏览器渲染而非 API 调用 const ua = await page.evaluate(() => navigator.userAgent); expect(ua, 'userAgent 应包含 Chromium/HeadlessChrome').toMatch(/Chromium|HeadlessChrome/i); // 标题可访问(即使 404 也有文档) const title = await page.title(); expect(typeof title, '应能读取 document.title').toBe('string'); }); test('Chromium 能渲染页面并点击交互', async ({ page }) => { await page.setContent( '
' ); await page.click('#b'); const txt = await page.$eval('#b', (el) => el.textContent); expect(txt).toBe('click'); }); });