SuperAPI AI 工具集

mcp-chrome-devtools

测试与质量

查看项目

更新于 10-15 07:54

技能介绍

用途

mcp-chrome-devtools 是一个 MCP 技能,使用配置为 io.github.ChromeDevTools/chrome-devtools-mcp 的 MCP 服务器,在测试和验证期间执行浏览器自动化任务,包括导航、表单填写、点击、截图和控制台监控。

前置条件

  • 确保 .vscode/mcp.json 和 .codex/mcp.json 中包含 io.github.ChromeDevTools/chrome-devtools-mcp 服务器配置。
  • 确保 Black-Tortoise 应用在本地运行(通常使用 pnpm start,地址为 http://localhost:4200)。
  • 系统中应安装 Chrome 浏览器。

操作规则

  • 优先使用语义化选择器:data-testid、role、aria-label、id 或稳定的类名。
  • 避免基于动态类或深层 DOM 路径的脆弱选择器。
  • 交互前始终等待页面加载和元素可见。
  • 截图用于留证和调试。
  • 自动化期间监控控制台错误/警告。
  • 使用显式等待而非固定延迟。

主要能力

  1. 导航:导航到 URL(绝对或相对)、处理页面跳转和重定向、等待页面加载完成、验证 URL 变化。
  2. 表单交互:填写文本输入、点击按钮和链接、选择下拉框、提交表单、处理输入验证。
  3. 元素交互:点击元素、在字段中输入、检查元素可见性、读取元素文本/属性、等待元素。
  4. 验证:断言元素存在、验证文本内容、检查 URL 模式、验证页面状态、检查 DOM 结构。
  5. 调试与留证:捕获整页截图、元素截图、监控控制台日志、记录网络活动、检查页面指标。

典型工作流

  1. 应用启动与导航:启动应用(pnpm start)、等待服务器就绪、导航到 http://localhost:4200/、验证落地页加载、捕获初始状态截图。
  2. 登录流程:导航到 /auth/login、等待登录表单出现、填写邮箱和密码字段、点击登录按钮、等待导航完成、验证登录成功(如 URL 变化、用户菜单可见)、捕获登录后截图。
  3. 工作区导航:从已认证状态导航到 /workspace、等待工作区内容加载、验证工作区 UI 元素、检查控制台错误、捕获工作区截图。
  4. 完整用户流程测试:启动应用、导航到首页、导航到登录页、执行登录(demo@test.com / 123123)、导航到工作区、验证完整流程、在每一步捕获证据。

Black-Tortoise 常用选择器

登录页:邮箱输入 input[type="email"]、#email、[data-testid="email-input"];密码输入 input[type="password"]、#password、[data-testid="password-input"];登录按钮 button[type="submit"]、[data-testid="login-button"]。

导航:首页链接 [routerLink="/"]、a[href="/"];工作区链接 [routerLink="/workspace"]、a[href="/workspace"];用户菜单 [data-testid="user-menu"]、.user-menu。

常用元素:主内容 main、[role="main"];导航栏 nav、[role="navigation"];错误消息 .error-message、[role="alert"];加载指示器 .loading、[data-testid="loading"]。

测试凭据

演示账户:邮箱 demo@test.com,密码 123123。

安全提示:这些是仅用于本地开发的测试凭据。切勿在生产环境使用或提交到公共仓库。

错误处理

  • 元素未找到:添加带超时的显式等待,交互前使用 waitForSelector,验证选择器正确。
  • 页面加载超时:增加超时时间,检查应用是否运行(pnpm start),验证网络连接。
  • 表单提交失败:验证字段值已填写,检查表单验证规则,监控控制台错误。
  • 导航未完成:等待 URL 模式匹配,检查重定向,验证路由守卫已满足。

最佳实践

  • 始终验证应用正在运行——检查 http://localhost:4200 可访问。
  • 使用显式等待——等待特定条件,而非固定延迟。
  • 捕获证据——在关键点截图。
  • 监控控制台——检查错误和警告。
  • 优雅处理错误——添加带截图的 try-catch 块。
  • 干净状态——每个测试从已知状态开始。
  • 增量测试——一次测试一个流程。
  • 使用 data-testid——优先使用稳定的测试标识符。

提示模板

基础导航测试:使用 chrome-devtools-mcp 导航到 http://localhost:4200/、验证页面标题包含 "Black-Tortoise"、截图、检查控制台错误。

登录流程测试:使用 chrome-devtools-mcp 导航到 http://localhost:4200/auth/login、填写邮箱 "demo@test.com"、填写密码 "123123"、点击登录按钮、等待导航完成、验证 URL 为 /workspace 或 /dashboard、截图登录后状态。

完整用户旅程:使用 chrome-devtools-mcp 测试完整用户流程:从 http://localhost:4200/ 开始、导航到登录页、使用 demo@test.com / 123123 登录、导航到工作区、验证所有步骤成功完成、在每个主要步骤截图、报告任何控制台错误。

相关技能

  • .github/skills/webapp-testing——通用 Web 测试模式
  • .github/skills/mcp-playwright——替代的 Playwright MCP 方法
  • .github/skills/e2e-playwright——E2E 测试组织

相关说明

  • 64-quality-testing-copilot-instructions.md——测试标准
  • 72-angular-accessibility-copilot-instructions.md——无障碍测试

限制

  • 需要安装 Chrome 浏览器。
  • 本地服务器必须正在运行。
  • 无法测试需要外部 OAuth 的认证流程。
  • 在非常慢的网络上可能存在时序问题。
  • 截图存储需要磁盘空间管理。

版本

chrome-devtools-mcp:0.15.0 兼容:Black-Tortoise Angular 20+ 应用 最后更新:2026-02-01