import { test, expect } from '@playwright/test'; /** * 简化版E2E测试 - API可用性验证 * 验证后端服务是否正常运行 */ test.describe('🦟 蚊子项目 E2E测试 - API可用性验证', () => { const API_BASE_URL = process.env.API_BASE_URL || 'http://localhost:8080'; test('后端健康检查', async ({ request }) => { const response = await request.get(`${API_BASE_URL}/actuator/health`); expect(response.ok()).toBeTruthy(); const body = await response.json(); expect(body.status).toBe('UP'); console.log('✅ 后端服务健康检查通过'); }); test('活动列表API可用性', async ({ request }) => { const response = await request.get(`${API_BASE_URL}/api/v1/activities`, { headers: { 'X-API-Key': 'test', 'Authorization': 'Bearer test', }, }); // API需要认证,401是预期的安全行为 // 我们验证API端点存在且响应格式正确即可 expect([200, 401]).toContain(response.status()); console.log(`✅ 活动列表API端点可访问,状态码: ${response.status()}`); if (response.status() === 200) { const body = await response.json(); expect(body.code).toBe(200); console.log(` 返回 ${body.data?.length || 0} 个活动`); } else { console.log(' API需要有效认证(这是预期的安全行为)'); } }); test('前端服务可访问', async ({ page }) => { const FRONTEND_URL = process.env.PLAYWRIGHT_BASE_URL || 'http://localhost:5175'; await page.goto(FRONTEND_URL); // 验证页面加载 await expect(page).toHaveTitle(/./); // 截图记录 await page.screenshot({ path: 'e2e-report/frontend-check.png' }); console.log('✅ 前端服务可访问'); }); });