mcpField
S
sap-sac-test-automation

sap-sac-test-automation

github.com/secondsky测试与质量480532 次安装3 周前更新
代码仓库

关于 sap-sac-test-automation

面向 SAP Analytics Cloud(SAC)故事和仪表板团队的测试自动化技能。它通过能力门控选择发现方式,并结合人工审核的配置与基线、Playwright 执行、CI 门禁和故障证据。

主要功能

  1. 01按能力门控选择发现后端
  2. 02人工审核仪表板配置与基线
  3. 03基于配置设计 Playwright 测试
  4. 04只读冒烟测试与 CI 门禁
  5. 05生成含跟踪和截图的故障报告

适用场景

  1. 01规划 SAC 仪表板只读测试
  2. 02定义 SAC 故事的安全 CI 阶段
  3. 03审查规划或权限测试风险
  4. 04利用采集的证据排查故障

MCP 相关

MCP 作为可选浏览器发现方式出现,包括 Chrome DevTools MCP;相关 SAC scripting 技能也提到 MCP 设置。本技能通过能力和策略检查选择获准的发现方式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/secondsky/sap-skills --skill sap-sac-test-automation

安装后在 Claude Code 中输入/sap-sac-test-automation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
agents/
openai.yaml
references/
agent-browser-discovery.md
architecture.md
chrome-devtools-mcp.md
dashboard-profiles-and-scenarios.md
edge-cdp-enterprise.md
failure-triage-and-artifacts.md
governance-and-sac-testability.md
playwright-execution.md
tool-availability-and-deployment.md
templates/
dashboard-profile.yaml
intake.md
scenario-read-only-smoke.yaml

详细介绍

SAP Analytics Cloud 测试自动化

将可复用的 SAC 测试自动化设计为能力门控系统:选择最安全的可用发现后端,要求人工审核配置文件和基线,然后使用经过审核的 Playwright 代码进行确定性执行、CI 门控、报告生成和证据收集。

遵循核心原则:发现提出建议,人工审批,Playwright 执行,CI 强制落实。

相关技能

  • sap-sac-scripting:用于 Optimized Story Experience 脚本、Analytics Designer API、诊断组件、故事脚本行为和 SAC MCP 设置。
  • sap-sac-planning:用于规划模型、私有/公共版本、数据操作、多重操作、验证规则和写回风险分析。
  • sap-sac-custom-widget:用于仪表板中由团队维护、需要稳定 ARIA 标签、公开测试钩子、生命周期修复或黑盒测试契约的自定义组件。
  • sap-dependency-security:用于添加固定源代码版本的浏览器工具、MCP 服务、CI 依赖项或处理 SAC 凭据的可执行自动化之前。
  • sap-browser-automation:用于在应用内手动身份验证、经同意后复用 Edge 配置文件、启动全新的 Edge/CDP、引导初始化身份验证状态和恢复浏览器。
  • agent-browser:Vercel Labs 的 agent-browser CLI 可用时,可选加载;当需要精确的命令语法、快照/引用用法、屏幕截图、控制台或网络检查时使用。
  • playwright:可选加载,用于通过 CLI 驱动和调试浏览器。对于持久化的 @playwright/test 测试套件,请使用此 SAC 技能作为测试架构指南,并遵循本地项目的 Playwright 约定。
  • chrome-devtools:Chrome DevTools MCP 已安装并获准用于只读浏览器发现、控制台/网络检查、屏幕截图、Lighthouse 或性能跟踪时,可选加载。明确提出使用 Chrome、Edge、CDP 或 Chrome DevTools MCP 的请求具有约束力。使用 references/chrome-devtools-mcp.md 了解符合 SAC 安全要求的默认设置和 Edge 限制。

初始指南

如果用户刚开始进行 SAC 自动化,或尚未提供经过审核的仪表板配置文件,请引导其使用 /sac-test-onboard,或手动遵循相同的接收流程。分两个阶段收集信息:

  • 阶段 1:环境类别、租户风险、允许使用的发现/执行工具、身份验证和角色、写回/评论范围,以及基线归属。
  • 阶段 2:规划/写回、评论、权限、视觉/数据基线、自定义组件、CI 阶段和失败证据。

默认仅创建草稿,除非用户明确确认创建文件及目标目录。若用户确认写入,请基于随附模板使用 profiles/<profile-id>/intake.md、profiles/<profile-id>/dashboard.yaml 和 profiles/<profile-id>/scenarios/read-only-smoke.yaml。

配置文件或场景草稿创建后,如有 sac-test-profile-reviewer,请将安全审核交由其处理。审核者应专注于接收信息/配置文件/场景的安全性,而非广泛实施 Playwright 测试套件。

何时使用此技能

在规划、实施或审核涉及以下内容的 SAC 自动化时使用此技能:

  • SAC 故事、优化故事、报告、仪表板、标签页、筛选器、提示词、表格、图表、导出、脚本、评论或书签。
  • 仪表板配置文件、场景 YAML、预期数据文件、视觉基线、Playwright 适配器和 SAC 专用夹具。
  • 存储的身份验证状态、SSO/MFA 限制、基于角色的测试用户、权限矩阵和 CI 门控。
  • 规划写回、私有/公共版本、数据锁定、验证规则、数据操作、多重操作或评论清理。
  • 包含跟踪记录、屏幕截图、视频、视觉差异、预期值与实际值、控制台/网络摘要和根因分类的失败数据包。

不要将此技能用作通用 Web 应用的主要指南。对于非 SAC 网站,请使用通用 Playwright 指南。

快速入门

  1. 对 SAC 故事进行分类:生产环境只读、QA 克隆、规划/回写、评论、权限敏感或探索性。
  2. 确定自动化策略:允许使用的租户、允许的用户、身份验证信息的存储处理方式、回写审批、基线审批和 CI 触发条件。
  3. 运行能力与策略检查。如果用户指定了浏览器或连接方式,只检查指定的界面;否则,根据已安装且获准使用的选项进行选择:手动发现、Firecrawl 公共信息研究、使用受支持 Chrome 的 Chrome DevTools MCP、Microsoft Edge/CDP、尽力支持 Edge 的 Chrome DevTools MCP、Playwright、agent-browser,或经批准的企业浏览器实验室。
  4. 使用选定的后端进行只读发现:捕获快照、带注释的屏幕截图、控制台/页面错误、网络线索和候选组件映射;不得将私有 SAC 内容发送给未经批准的外部服务。
  5. 将发现结果转化为经过人工审核的仪表板配置文件:页面、控件、定位器、就绪标记、角色、数据基线、视觉基线和已知限制。
  6. 通过可复用适配器实现确定性的 Playwright 测试。场景文件中不得包含选择器;所有交互都应通过配置文件中的组件 ID 执行。
  7. 首先仅在 CI 中运行安全测试包:身份验证检查、只读冒烟测试、导航和关键控件就绪检查。将规划、评论、数据操作、视觉基线和完整权限检查移至受控阶段或夜间阶段。
  8. 生成便于审核的失败证据:HTML 报告、跟踪记录、屏幕截图、视频、视觉差异、控件元数据、预期值与实际值,以及失败类别。

只读故事验收

对仅用于报告的 SAC 故事和仪表板应用此约定。它补充了由配置文件驱动的冒烟测试场景,但不授权进行规划或模型更改。

租户和模型安全
  • 在交互前确认获准使用的租户、故事以及数据源/模型。
  • 验证当前 SAC 区域为故事设计器,而非建模器。
  • 确认未发生模型编辑对话框操作、模型保存、主数据更改、权限更改、规划回写、版本发布、数据操作、多重操作或锁更改。
  • 仅基于获准模型公开的维度、度量、层级、筛选器和比较类别设置断言。如果所需字段不可用,则省略依赖该字段的控件并记录省略情况。
故事就绪情况
  • 打开每个页面,并等待页面专属的就绪标记、加载旋转指示器消失、控件状态稳定,且没有可见的 SAC 错误消息。
  • 验证每个 KPI、图表和表格均显示数值或明确的无数据状态;仅加载完成并不足够。
  • 确认筛选器已填充、可接受有效值,并且能够更新依赖控件,而不更改模型。
  • 在配置允许的情况下,测试获准的选择、导航和下钻;验证生成的表格或图表状态符合预期。
  • 记录尚未解决的控件、无效绑定、不可用字段、相关控制台或网络错误,以及租户特定的限制。
证据
  • 为每个故事页面捕获获准的屏幕截图或同等材料,并保留故事名称和位置。
  • 将视觉证据与 KPI、表格或数据断言配套使用;不得仅依靠图表像素检查业务值。
  • 遮盖租户标识符、故事 ID、类似会话的 URL 参数、凭据、Cookie、私人屏幕截图及无关标签页内容。

浏览器故障与诚实交接

浏览器访问是执行的前提,不是故事存在的证据。如果浏览器初始化或发现失败,包括 agent is not defined 等运行时错误:

  1. 阅读所选的浏览器故障排除指南,并重试发现,但不得绕过身份验证或租户权限。
  2. 如果用户明确指定了浏览器或连接方式,不要切换到其他浏览器界面。如果其工具不在当前活动注册表中,请求重启 Codex 或创建新任务。
  3. 要求进行实时的 list_pages 或等效握手,并确认返回的页面属于所请求的浏览器。仅有配置、软件包启动或 DevToolsActivePort 并不足够。
  4. 如果用户没有明确指定浏览器或连接方式,请使用 sap-browser-automation 和 references/edge-cdp-enterprise.md 中获准的 Microsoft Edge/CDP 恢复指南。
  5. 如果仍无法建立经过身份验证的租户控制,则将执行标记为受阻。不要声称故事已创建或已验证。
  6. 交接一份可直接实施的规格说明,其中包含故事目的和受众、已确认的模型元数据、逐页说明的组件与筛选器、交互、遗漏或未解决的字段、只读限制,以及仍需提供的验证证据。

运行模式

将 AI/浏览器 Agent 的输出视为草稿,而非事实来源。配置文件、选择器审批、预期业务值、视觉/数据基线变更、权限矩阵以及任何破坏性/回写场景,都必须经过人工审核。

优先采用配置文件驱动的自动化:

  • 将租户/故事元数据、页面、组件、角色、基线和测试策略存储在版本化的 YAML/JSON 中。
  • 为 SAC 组件类型实现适配器,例如按钮、表格、图表、选项卡、筛选器、提示词、规划表、评论、自定义组件、导出和书签。
  • 不要在场景文件中保存选择器。场景应调用组件 ID 和操作,由适配器解析定位器和就绪行为。
  • 每个仪表板先采用串行执行。只有在证明身份验证状态、租户状态、评论、规划版本、实时连接和后端容量相互隔离后,才提高并行度。

捆绑资源

仅在需要时加载以下参考资料:

  • references/architecture.md:混合架构、可行性边界、可靠的 SAC 测试类别,以及可复用的项目结构。
  • references/tool-availability-and-deployment.md:后端决策矩阵、Windows/受限环境检查、Firecrawl 公共研究政策,以及无工具时的回退方案。
  • references/chrome-devtools-mcp.md:Chrome DevTools MCP 模式、SAC 安全配置、工具类别、CLI 用法、Windows/受限环境部署,以及企业安全边界。
  • references/edge-cdp-enterprise.md:面向共享 sap-browser-automation 身份验证、配置文件复制、Edge/CDP 和恢复层的 SAC 测试自动化扩展。
  • references/dashboard-profiles-and-scenarios.md:仪表板配置文件约定、场景约定、适配器职责,以及接入流程。
  • references/agent-browser-discovery.md:可选的 agent-browser 只读发现工作流、命令模式、输出产物,以及人工审核清单。
  • references/playwright-execution.md:Playwright 测试运行器指南、身份验证、就绪状态、CI 阶段,以及测试类别政策。
  • references/governance-and-sac-testability.md:SAC 可测试性约定、身份验证/SSO、计划/评论安全性、基线审批,以及角色治理。
  • references/failure-triage-and-artifacts.md:必需证据、故障包结构、根因类别,以及性能/就绪度指标。
  • templates/intake.md:用于收集政策、工具、角色、风险、基线和审批信息的引导式接入资料包。
  • templates/dashboard-profile.yaml:起始仪表板配置文件,包含 SAC 元数据、就绪状态、组件、角色、基线和风险政策。
  • templates/scenario-read-only-smoke.yaml:使用配置文件组件 ID、无需选择器的起始冒烟测试场景。

针对实时项目实施时,新增结构前还应检查项目现有的 Playwright 配置、包管理器、CI、配置文件架构和产物约定。

常见问题

  • 避免使用生成的 SAC DOM ID 和私有框架类。优先使用可见标签、ARIA 角色、文本、组件元数据、配置文件中的组件 ID,以及经过审核的回退方案。
  • 不要将故事页面框架加载完成视为组件已就绪。应等待页面标记、关键组件就绪、SAC 错误文本消失、加载指示器消失、数值稳定,并使用可重试的断言。
  • 不要将 MFA 自动化作为发布依赖项。优先使用已存储的身份验证状态、专用测试用户、经安全部门批准的测试 IdP 策略,或手动刷新。
  • 除非获得明确的正式批准,否则不要在生产环境中运行评论、计划写回、公开版本发布、数据操作或多项操作。
  • 不要自动批准视觉或数据偏差。必须由负责人审核、说明基线原因,并提供拉取请求证据。
  • 不要仅以图表像素作为业务值断言。尽可能将图表截图与表格、KPI 或数据断言结合使用。
  • 不要假设公司环境中可以使用 agent-browser、Playwright CLI、Chrome DevTools MCP、Firecrawl MCP、公共 npm、浏览器下载或远程调试。请使用能力门控并记录回退方案。
  • 不要将 Chrome DevTools MCP 用作经过审计的 CI 发布门禁。可将其用于探索和调试;将获批的发现转化为由配置文件驱动的 Playwright 测试。
  • 在私有 SAC 上运行 Chrome DevTools MCP 前,必须禁用使用统计、更新检查和 CrUX 现场数据查询,并落实配置文件、URL、截图和网络输出控制。
  • 不要将 MCP 配置视为工具当前可用的证明。请确认当前任务注册表中的工具,并在使用请求的浏览器前完成实时页面列表握手。
  • 不要在未说明的情况下,将明确请求的 Chrome、Edge、CDP 或 Chrome DevTools MCP 界面替换为 In-app Browser、扩展、Playwright、Computer Use、其他浏览器或 Shell 自动化。
  • 不要将 CDP 暴露到回环地址以外,不要发布 webSocketDebuggerUrl,也不要绕过 Edge RemoteDebuggingAllowed 策略。附加到或复制日常用户配置文件需要明确批准,并遵循共享技能的隔离配置文件流程。
  • 不要将 /json/version 或 /json/list 返回 404 视为 Edge CDP 不可用的证明;请读取 DevToolsActivePort,并且仅在运行框架支持时使用直接浏览器 WebSocket。
  • 除非确切的部署方式和数据保留模式均已获批,否则不要将经过身份验证的 SAC 租户页面、截图、HAR、Cookie、存储状态、内部 URL、客户数据或公司内部文档发送给 Firecrawl。
  • 不要假设不同客户的 SAC 优化故事功能、租户配置、实时数据、本地化或提示词持久化行为完全相同。

来源和验证说明

内容源自整合于 docs/project/sac-test-automation-source-review-2026-06-17.md 的 SAC 自动化测试套件规划资料,以及随此技能附带的配置文件和场景模板摘录。规划资料引用了 SAP Help、Vercel Labs agent-browser 和 Playwright 文档。Edge/CDP 和 Chrome DevTools MCP 指南还参考了 ChromeDevTools/chrome-devtools-mcp README、CLI 文档、工具参考、故障排除指南、包元数据、随附技能、issue #1235 和 PR #1229、Microsoft Edge DevTools Protocol 文档、Microsoft Edge DevTools MCP 指南、Edge RemoteDebuggingAllowed 策略,以及 Firecrawl 关于 MCP、搜索和抓取安全的公开文档。此技能仅经过文档审核;实时 SAC 租户执行、Chrome DevTools MCP 运行时行为、SSO 行为、CI 行为、计划写回以及视觉基线稳定性仍因租户而异,必须在作出运行时声明前进行验证。

评论

支持 Markdown