import { test, expect } from '@playwright/test'; test.describe('关键词搜索功能E2E测试', () => { test.describe('TC-KEYWORD-001: 搜索页面', () => { test('应该能够通过关键词参数访问搜索页面', async ({ page }) => { await page.goto('/#/pages/almanac-search/index?keyword=%E9%BB%84%E5%8E%86'); await page.waitForLoadState('networkidle'); await page.waitForTimeout(2000); // 验证页面标题 const pageTitle = page.locator('.page-title') await expect(pageTitle).toBeVisible() }) }) test.describe('TC-KEYWORD-002: 搜索流程', () => { test('搜索页面应该包含搜索条件面板', async ({ page }) => { await page.goto('/#/pages/almanac-search/index'); await page.waitForLoadState('networkidle'); await page.waitForTimeout(1000); // 验证搜索面板组件存在 const searchPanel = page.locator('.page-content') await expect(searchPanel).toBeVisible() }) }) test.describe('TC-KEYWORD-003: 响应式设计', () => { test('移动端应该正常显示', async ({ page }) => { await page.setViewportSize({ width: 375, height: 667 }); await page.goto('/#/pages/almanac-search/index'); await page.waitForLoadState('networkidle'); await page.waitForTimeout(1000); const pageContent = page.locator('.page-content') await expect(pageContent).toBeVisible() }) }) })