关于 running-release-tests
该技能指导 Agent 使用 AWS DevOps Agent 的 Release Testing Agent,在云端执行 UI 或 API 发布测试。它涵盖测试配置选择、任务监控和报告获取,适用于需要自动化发布验证的团队。
主要功能
- 01云端 UI 与 API 测试
- 02使用预先创建的测试配置
- 03监控任务状态与测试记录
- 04获取并保存测试报告
- 05支持取消任务及 AWS CLI 回退
适用场景
- 01验证发布版本的 Web 界面
- 02依据 OpenAPI 规范执行 API 测试
- 03查看测试进展并获取结果报告
MCP 相关
该技能通过 AWS DevOps Agent 的 MCP 工具创建和跟踪发布测试任务,并获取测试报告;工具不可用时提供 AWS CLI 回退路径。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill running-release-tests安装后在 Claude Code 中输入/running-release-tests确认已加载。
详细介绍
发布测试
AgentSpace 路由(仅限 SigV4): 如果工具列表中有
list_agent_spaces,且本次会话尚未调用多空间编排技能,请先调用该技能,确定要使用的agent_space_id。然后在下方所有工具调用中传入agent_space_id。对于持有者令牌身份验证,无需执行此操作,因为令牌已限定在一个空间内。
通过 AWS DevOps Agent 的发布测试 Agent 在云端运行自动化发布测试。支持 UI 测试(基于浏览器)和 API 测试(基于 OpenAPI 规范)。使用预先存在的测试配置文件,其中定义了目标 URL、Agent 类型、测试角色和凭据。
输入是测试配置文件——测试配置文件已包含目标 URL、Agent 类型(UI 或 API)、测试角色和凭据。不要直接向用户询问 URL;URL 已在测试配置文件中定义。
前提条件
- 预先存在的测试配置文件(知识项 ID,格式如
ki-12345),由 AWS DevOps Agent 控制台创建
收集测试参数
开始任何工作流之前,必须收集以下参数。未获得答复前,不得继续创建任务。
步骤 1 — 测试配置文件(必需)
询问用户要使用哪个测试配置文件。测试配置文件已包含目标 URL、Agent 类型(UI 或 API)、测试角色和凭据配置——无需单独收集这些信息。
注意: 预先存在的测试配置文件是前提条件。测试配置文件通过 AWS DevOps Agent 控制台或 API 创建,不能通过此工具创建。如果用户询问能否在此创建,请告知他们必须事先创建好。
步骤 2 — 测试要求(可选)
如果用户尚未说明测试重点,请询问:
“您有具体的测试要求或重点领域吗?如果没有,我将运行完整的探索性测试。”
等待用户回复。如果用户提供了要求,请将其用作 test_requirement。如果用户表示没有或跳过此项,请继续,不添加此参数。
重要:创建任务前必须等待用户回复。
核心工作流
1. 选择 Agent Space
列出可用的 Agent Space:
aws devops-agent list-agent-spaces --region us-east-1
向用户展示列表,并询问他们想使用哪个 Agent Space。在用户选定之前不得继续。 后续所有调用中均使用所选的 agentSpaceId 作为 SPACE_ID。
2. 检查工具是否可用
确认以下工具可用:aws_devops_agent__create_release_testing_job、aws_devops_agent__get_task、aws_devops_agent__list_journal_records、aws_devops_agent__get_release_ui_testing_report、aws_devops_agent__get_release_api_testing_report。这些工具不会延迟加载——如果它们未出现在工具列表中,即表示不可用。不要通过 ToolSearch 搜索这些工具。如果缺少任何工具,请跳过本节剩余步骤,改用下方的“回退(aws-mcp)”路径。
3. 启动任务
aws_devops_agent__create_release_testing_job(
test_profile_id="ki-12345",
webhook_event_message="<optional test requirement>"
)
→ {"taskId": "...", "executionId": "...", "status": "started"}
记录响应中的 taskId 和 executionId。
4. 轮询状态
每隔 30 秒调用 aws_devops_agent__get_task(task_id=TASK_ID),直到状态变为 IN_PROGRESS 或终止状态。
5. 监控直至完成
状态变为 IN_PROGRESS 后,循环轮询进度:
- 调用
aws_devops_agent__list_journal_records(execution_id=EXEC_ID, order="ASC")获取新发现。 - 向用户逐条展示记录,并提供友好的进度更新。
- 后续轮询时使用响应中的
next_token,仅获取新记录。 - 每次轮询间隔等待 20 秒。
- 定期检查
aws_devops_agent__get_task(task_id=TASK_ID)——状态变为终止状态(COMPLETED、FAILED、CANCELED、TIMED_OUT)时停止。
6. 呈现结果
作业达到终态后:
- 如果为
COMPLETED:-
根据测试配置文件的 Agent 类型(UI 或 API)确定报告类型。对于 UI 配置文件,调用
aws_devops_agent__get_release_ui_testing_report(execution_id=EXEC_ID);对于 API 配置文件,调用aws_devops_agent__get_release_api_testing_report(execution_id=EXEC_ID)。 -
将报告内容写入 Markdown 文件:
release-testing-report-<YYYY-MM-DD-HHmmss>.md -
告知用户报告已保存,并提供文件路径。
-
- 如果为
FAILED或TIMED_OUT:呈现错误信息并建议后续步骤。 - 如果为
CANCELED:告知用户作业已取消,且没有可用报告。
取消作业
aws_devops_agent__cancel_release_testing_job(task_id=TASK_ID)
错误处理
- 如果任务状态变为
FAILED,请停止工作流并报告错误。 - 如果任务在 5 分钟内未进入
IN_PROGRESS,请使用cancel_release_testing_job取消任务。 - 如果任何输出包含 "NoCredentialsError"、"ExpiredTokenException" 或身份验证失败,请建议用户刷新凭证或检查 bearer token。
- 如果遇到限流(
429或ThrottlingException),请等待 30 秒后重试。重试 3 次后,告知用户。
回退方案(aws-mcp)
如果 aws-devops-agent 远程服务不可用,请直接使用 AWS CLI:
告知用户:"远程服务不可用 — 正在使用 AWS API 直接回退方案。"
1. 选择 Agent 空间
列出可用的 Agent 空间:
aws devops-agent list-agent-spaces --region us-east-1
向用户呈现列表,并询问他们想使用哪个 Agent 空间。在用户选择之前,请勿继续。 在所有后续调用中,将选定的 agentSpaceId 用作 SPACE_ID。
2. 启动作业
aws devops-agent create-backlog-task \
--agent-space-id SPACE_ID \
--task-type RELEASE_TESTING \
--title 'Release Testing' \
--priority MEDIUM \
--description '{\"testProfileId\": \"<PROFILE_ID>\", \"webhookEventMessage\": \"<REQUIREMENT>\"}' \
--region us-east-1
如果用户提供了测试要求,请将其作为 webhookEventMessage。如果没有提供,请省略此字段或留空。
3. 轮询状态
aws devops-agent get-backlog-task \
--agent-space-id SPACE_ID \
--task-id TASK_ID \
--region us-east-1
每 30 秒 轮询一次,直到状态变为 IN_PROGRESS 或终态(COMPLETED、FAILED、CANCELED、TIMED_OUT)。
4. 监控直至完成
进入 IN_PROGRESS 后,循环轮询进度:
aws devops-agent list-journal-records \
--agent-space-id SPACE_ID \
--execution-id EXEC_ID \
--order ASC \
--region us-east-1
- 向用户呈现每条记录,并提供友好的进度更新。
- 使用响应中的
next_token,在后续轮询中仅获取新记录。 - 每次轮询迭代之间等待 20 秒。
- 定期检查
get-backlog-task— 状态变为终态(COMPLETED、FAILED、CANCELED、TIMED_OUT)后停止。
5. 呈现结果
作业达到终态后:
- 如果为
COMPLETED:-
使用相应的记录类型检索报告:
- UI 测试:
--record-type qa_ui_testing_report - API 测试:
--record-type qa_api_testing_report
aws devops-agent list-journal-records \ --agent-space-id SPACE_ID \ --execution-id EXEC_ID \ --record-type qa_ui_testing_report \ --order ASC \ --region us-east-1 - UI 测试:
-
将报告内容写入 Markdown 文件:
release-testing-report-<YYYY-MM-DD-HHmmss>.md -
告知用户报告已保存,并提供文件路径。
-
- 如果为
FAILED或TIMED_OUT:呈现错误信息并建议后续步骤。 - 如果为
CANCELED:告知用户作业已取消,且没有可用报告。
取消(回退方案)
aws devops-agent update-backlog-task \
--agent-space-id SPACE_ID \
--task-id TASK_ID \
--task-status CANCELED \
--region us-east-1