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:
@@ -101,7 +101,7 @@ async function safeGoto(page: Page, path: string, maxRetries = 2): Promise<void>
|
||||
}
|
||||
}
|
||||
|
||||
test.describe('P1: 品牌视觉审计 - 全站文本扫描', () => {
|
||||
test.describe('P1: 品牌视觉审计 - 全站文本扫描', { tag: '@regression' }, () => {
|
||||
|
||||
TEST_PAGES.forEach(({ path, name }) => {
|
||||
test(`${name} (${path}) - 不应包含可见的 "novalon" 字样`, async ({ page }) => {
|
||||
@@ -290,7 +290,7 @@ test.describe('P1: 品牌视觉审计 - 全站文本扫描', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test.describe('P1: 品牌视觉审计 - 关键位置验证', () => {
|
||||
test.describe('P1: 品牌视觉审计 - 关键位置验证', { tag: '@regression' }, () => {
|
||||
|
||||
test('Header Logo 应显示 "睿新致远" 品牌', async ({ page }) => {
|
||||
// 使用安全导航
|
||||
@@ -414,7 +414,7 @@ test.describe('P1: 品牌视觉审计 - 关键位置验证', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test.describe('P1: 品牌视觉审计 - SVG Logo 详细检查', () => {
|
||||
test.describe('P1: 品牌视觉审计 - SVG Logo 详细检查', { tag: '@regression' }, () => {
|
||||
|
||||
test('Logo SVG 文件不应包含 "NOVALON" 英文文本', async ({ page }) => {
|
||||
await safeGoto(page, '/');
|
||||
@@ -552,7 +552,7 @@ test.describe('P1: 品牌视觉审计 - SVG Logo 详细检查', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test.describe('P1: 品牌视觉审计 - 交互状态一致性', () => {
|
||||
test.describe('P1: 品牌视觉审计 - 交互状态一致性', { tag: '@regression' }, () => {
|
||||
|
||||
test('导航链接悬停状态不显示错误品牌', async ({ page }) => {
|
||||
await safeGoto(page, '/');
|
||||
@@ -632,7 +632,7 @@ test.describe('P1: 品牌视觉审计 - 交互状态一致性', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test.describe('P1: 品牌视觉审计 - 响应式布局验证', () => {
|
||||
test.describe('P1: 品牌视觉审计 - 响应式布局验证', { tag: '@regression' }, () => {
|
||||
|
||||
const viewports = [
|
||||
{ name: 'Desktop XL', width: 1920, height: 1080 },
|
||||
@@ -701,7 +701,7 @@ test.describe('P1: 品牌视觉审计 - 响应式布局验证', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test.describe('P1: 品牌视觉审计 - 特殊场景覆盖', () => {
|
||||
test.describe('P1: 品牌视觉审计 - 特殊场景覆盖', { tag: '@regression' }, () => {
|
||||
|
||||
test('404 错误页面品牌显示正常', async ({ page }) => {
|
||||
// 访问一个不存在的页面
|
||||
@@ -775,7 +775,7 @@ test.describe('P1: 品牌视觉审计 - 特殊场景覆盖', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test.describe('P1: 品牌视觉审计 - 性能与截图基线', () => {
|
||||
test.describe('P1: 品牌视觉审计 - 性能与截图基线', { tag: '@regression' }, () => {
|
||||
|
||||
test('品牌元素加载性能', async ({ page }) => {
|
||||
const startTime = Date.now();
|
||||
|
||||
Reference in New Issue
Block a user