test(e2e): add GA4 tracking, mobile, user journey tests and update visual baselines

- Add GA4 event tracking E2E tests (4 cases: page view, form submit, button click, product page)
- Add mobile-specific E2E tests (16 cases: navigation, form, product browsing)
- Add user journey tests (UJ-01: homepage to contact, UJ-02: product discovery)
- Fix E2E test selectors and assertions for consistency
- Update visual regression baselines across all browsers (chromium/firefox/webkit)
- Update Playwright config for new test files
This commit is contained in:
2026-07-31 20:24:57 +08:00
parent dd088a5ee1
commit 3e629bd9ee
27 changed files with 964 additions and 58 deletions
+8 -4
View File
@@ -1,7 +1,9 @@
import { test, expect } from '@playwright/test';
test('主导航产品下拉菜单可在 hover 时展开', async ({ page }) => {
await page.goto('/', { waitUntil: 'domcontentloaded' });
test('主导航产品下拉菜单可在 hover 时展开', { tag: '@smoke' }, async ({ page }) => {
await page.goto('/', { waitUntil: 'networkidle' });
// 等待桌面导航 hydration 完成
await expect(page.locator('nav[aria-label="主导航"]')).toBeVisible({ timeout: 10000 });
const productsButton = page.locator('nav[aria-label="主导航"] button:has-text("产品")');
await expect(productsButton).toHaveAttribute('aria-expanded', 'false');
@@ -12,8 +14,10 @@ test('主导航产品下拉菜单可在 hover 时展开', async ({ page }) => {
await expect(page.locator('text=ERP 管理系统').first()).toBeVisible();
});
test('主导航解决方案下拉菜单可在 hover 时展开', async ({ page }) => {
await page.goto('/', { waitUntil: 'domcontentloaded' });
test('主导航解决方案下拉菜单可在 hover 时展开', { tag: '@smoke' }, async ({ page }) => {
await page.goto('/', { waitUntil: 'networkidle' });
// 等待桌面导航 hydration 完成
await expect(page.locator('nav[aria-label="主导航"]')).toBeVisible({ timeout: 10000 });
const solutionsButton = page.locator('nav[aria-label="主导航"] button:has-text("解决方案")');
await expect(solutionsButton).toHaveAttribute('aria-expanded', 'false');