| 12345678910111213141516171819202122232425262728 |
- // 最小浏览器冒烟:验证本机 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(
- '<html><body><button id="b" style="width:120px;height:40px">click</button></body></html>'
- );
- await page.click('#b');
- const txt = await page.$eval('#b', (el) => el.textContent);
- expect(txt).toBe('click');
- });
- });
|