Add API error monitoring tests and error context snapshots for various browsers

- Created error context snapshots for Firefox, WebKit, and Chromium to capture UI state during API error monitoring.
- Implemented e2e tests for API error detection, including console errors, failed API requests, and proxy errors.
- Added functionality to ignore specific API patterns in monitoring assertions.
- Ensured tests validate the monitoring system's ability to detect and report errors effectively.
This commit is contained in:
catlog22
2026-01-31 00:15:59 +08:00
parent f1324a0bc8
commit a0f81f8841
66 changed files with 3112 additions and 3175 deletions

View File

@@ -123,5 +123,11 @@
"title": "No Rules Found",
"message": "Add a rule to enforce code quality standards."
}
},
"executionDetails": "Execution Details",
"tabs": {
"prompt": "Prompt",
"output": "Output",
"details": "Details"
}
}

View File

@@ -19,6 +19,9 @@ import liteTasks from './lite-tasks.json';
import projectOverview from './project-overview.json';
import reviewSession from './review-session.json';
import sessionDetail from './session-detail.json';
import skills from './skills.json';
import cliManager from './cli-manager.json';
import mcpManager from './mcp-manager.json';
/**
* Flattens nested JSON object to dot-separated keys
@@ -45,20 +48,23 @@ function flattenMessages(obj: Record<string, unknown>, prefix = ''): Record<stri
* Consolidated and flattened English messages
*/
export default {
...flattenMessages(common),
...flattenMessages(navigation),
...flattenMessages(sessions),
...flattenMessages(issues),
...flattenMessages(home),
...flattenMessages(orchestrator),
...flattenMessages(loops),
...flattenMessages(commands),
...flattenMessages(memory),
...flattenMessages(settings),
...flattenMessages(fixSession),
...flattenMessages(history),
...flattenMessages(liteTasks),
...flattenMessages(projectOverview),
...flattenMessages(reviewSession),
...flattenMessages(sessionDetail),
...flattenMessages(common, 'common'),
...flattenMessages(navigation, 'navigation'),
...flattenMessages(sessions, 'sessions'),
...flattenMessages(issues, 'issues'),
...flattenMessages(home, 'home'),
...flattenMessages(orchestrator, 'orchestrator'),
...flattenMessages(loops, 'loops'),
...flattenMessages(commands, 'commands'),
...flattenMessages(memory, 'memory'),
...flattenMessages(settings, 'settings'),
...flattenMessages(fixSession, 'fixSession'),
...flattenMessages(history, 'history'),
...flattenMessages(liteTasks, 'liteTasks'),
...flattenMessages(projectOverview, 'projectOverview'),
...flattenMessages(reviewSession, 'reviewSession'),
...flattenMessages(sessionDetail, 'sessionDetail'),
...flattenMessages(skills, 'skills'),
...flattenMessages(cliManager), // No prefix - has cliEndpoints, cliInstallations, etc. as top-level keys
...flattenMessages(mcpManager, 'mcp'),
} as Record<string, string>;

View File

@@ -50,5 +50,34 @@
"updated": "Updated",
"tasks": "Tasks",
"description": "Description"
},
"taskDrawer": {
"status": {
"pending": "Pending",
"inProgress": "In Progress",
"completed": "Completed",
"blocked": "Blocked",
"skipped": "Skipped",
"failed": "Failed"
},
"tabs": {
"overview": "Overview",
"flowchart": "Flowchart",
"files": "Files"
},
"overview": {
"description": "Description",
"preAnalysis": "Pre-Analysis Steps",
"implementationSteps": "Implementation Steps",
"modificationPoints": "Modification Points",
"dependsOn": "Depends on",
"empty": "No overview information available for this task."
},
"flowchart": {
"empty": "No flowchart available for this task."
},
"files": {
"empty": "No files specified for this task."
}
}
}

View File

@@ -123,5 +123,11 @@
"title": "未找到规则",
"message": "添加规则以强制执行代码质量标准。"
}
},
"executionDetails": "执行详情",
"tabs": {
"prompt": "提示词",
"output": "输出",
"details": "详情"
}
}

View File

@@ -19,6 +19,9 @@ import liteTasks from './lite-tasks.json';
import projectOverview from './project-overview.json';
import reviewSession from './review-session.json';
import sessionDetail from './session-detail.json';
import skills from './skills.json';
import cliManager from './cli-manager.json';
import mcpManager from './mcp-manager.json';
/**
* Flattens nested JSON object to dot-separated keys
@@ -45,20 +48,23 @@ function flattenMessages(obj: Record<string, unknown>, prefix = ''): Record<stri
* Consolidated and flattened Chinese messages
*/
export default {
...flattenMessages(common),
...flattenMessages(navigation),
...flattenMessages(sessions),
...flattenMessages(issues),
...flattenMessages(home),
...flattenMessages(orchestrator),
...flattenMessages(loops),
...flattenMessages(commands),
...flattenMessages(memory),
...flattenMessages(settings),
...flattenMessages(fixSession),
...flattenMessages(history),
...flattenMessages(liteTasks),
...flattenMessages(projectOverview),
...flattenMessages(reviewSession),
...flattenMessages(sessionDetail),
...flattenMessages(common, 'common'),
...flattenMessages(navigation, 'navigation'),
...flattenMessages(sessions, 'sessions'),
...flattenMessages(issues, 'issues'),
...flattenMessages(home, 'home'),
...flattenMessages(orchestrator, 'orchestrator'),
...flattenMessages(loops, 'loops'),
...flattenMessages(commands, 'commands'),
...flattenMessages(memory, 'memory'),
...flattenMessages(settings, 'settings'),
...flattenMessages(fixSession, 'fixSession'),
...flattenMessages(history, 'history'),
...flattenMessages(liteTasks, 'liteTasks'),
...flattenMessages(projectOverview, 'projectOverview'),
...flattenMessages(reviewSession, 'reviewSession'),
...flattenMessages(sessionDetail, 'sessionDetail'),
...flattenMessages(skills, 'skills'),
...flattenMessages(cliManager), // No prefix - has cliEndpoints, cliInstallations, etc. as top-level keys
...flattenMessages(mcpManager, 'mcp'),
} as Record<string, string>;

View File

@@ -50,5 +50,34 @@
"updated": "更新时间",
"tasks": "任务",
"description": "描述"
},
"taskDrawer": {
"status": {
"pending": "待处理",
"inProgress": "进行中",
"completed": "已完成",
"blocked": "已阻塞",
"skipped": "已跳过",
"failed": "失败"
},
"tabs": {
"overview": "概览",
"flowchart": "流程图",
"files": "文件"
},
"overview": {
"description": "描述",
"preAnalysis": "前置分析步骤",
"implementationSteps": "实现步骤",
"modificationPoints": "修改点",
"dependsOn": "依赖于",
"empty": "此任务暂无概览信息。"
},
"flowchart": {
"empty": "此任务暂无流程图。"
},
"files": {
"empty": "此任务未指定文件。"
}
}
}