aihot
查询 AIHOT 的中文 AI 资讯、精选、当前热点和日报。用户询问今天或最近的 AI 新闻、AI 圈动态、大模型或产品发布、OpenAI/Anthropic/Google 最新消息、AI 论文、AI 日报、AIHOT 精选、当前最热事件,或需要同步当前全部精选时使用。必须通过 aihot.news 的匿名只读…
Apifox 接口测试用例:test-case 与 test-data 的查询、创建、更新、删除、分类和运行;处理测试步骤、断言、提取变量、前后置处理器、数据集,以及“CLI 创建后前端测试步骤无法展示”等问题。
$ npx -y skills add codingSamss/all-my-ai-needs --skill apifox-test-case --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/apifox-test-caseContext preview
The summary Claude sees to decide when to auto-load this skill.
Apifox 接口测试用例:test-case 与 test-data 的查询、创建、更新、删除、分类和运行;处理测试步骤、断言、提取变量、前后置处理器、数据集,以及“CLI 创建后前端测试步骤无法展示”等问题。
name: apifox-test-case description: Apifox 接口测试用例:test-case 与 test-data 的查询、创建、更新、删除、分类和运行;处理测试步骤、断言、提取变量、前后置处理器、数据集,以及“CLI 创建后前端测试步骤无法展示”等问题。
> 前置条件:先阅读 `../apifox-cli/SKILL.md`。若旧总入口与本 skill 的领域规则冲突,以当前 CLI help 和本 skill 为准。涉及接口定义时按当前 CLI help 使用 endpoint、schema、folder 等命令;涉及多步骤流程时读取 `../apifox-test-scenario/SKILL.md`。
具体命令参数以当前 CLI help 为准。创建和更新接口测试用例时重点处理 categoryId 展示风险、test-case 与 test-scenario 边界、requestBody/processor/assertion/extractor 结构和运行验证边界。Agent 写入前必须用 `cli-schema validate` 校验 payload,写入后用 `get` 回读确认保存结构。
| 概念 | CLI 资源 | 说明 | |------|----------|------| | 接口测试用例 | `test-case` | 绑定接口 endpoint 的测试数据与步骤 | | 测试分类 | `test-case category` | 测试用例分类;创建 case 前用于获取有效 `categoryId` | | 测试数据集 | `test-data` | 可供迭代运行的数据 | | 接口定义 | `endpoint` | case 的依赖对象,不等同 case 本身 | | 测试场景 | `test-scenario` | 多步骤流程编排,边界不同 |
使用当前 CLI help 查询 `test-case`、`test-data` 和 `apifox run --test-case` 的参数。`test-case category` 用于获取 `categoryId`;当前 `test-case category` 不支持 `--endpoint`。按接口查看已有用例时使用 `test-case list --endpoint <endpointId>`;`apifox run --test-case` 只接收 caseId。
把单接口用例导入测试场景时,不在本 skill 手写场景步骤;转 `apifox-test-scenario` 并使用:
apifox test-scenario import-steps <scenarioId> --project <projectId> --source test-case --endpoint <endpointId> --ids <testCaseIds> --sync manual
1. 确认项目和分支。 2. 定位 endpoint:`apifox endpoint list/get`。 3. 必须执行 `apifox test-case category --project <projectId>` 获取有效 `categoryId`;如需查看某接口下已有用例,执行 `apifox test-case list --project <projectId> --endpoint <endpointId>`。 4. 如果已有类似 case,先 `apifox test-case list --project <projectId> --endpoint <endpointId>`,再 `get` 一个作为模板。 5. 获取并校验 `test-case-create` schema。 6. 构造完整 JSON,不要只写空壳 name/endpointId。 7. 创建后立即 `test-case get <caseId>`,确认后端实际保存结构。 8. 运行一次并生成本地 JSON 报告,确认 requestBody、处理器、断言和脚本在 runner 中实际生效。 9. 如上传报告,按当前 CLI help 使用 `test-report` 检查步骤详情;若报告缺详情,参考 `apifox-test-automation` 的本地/云端报告边界。
`categoryId` 是前端展示测试用例的关键必填字段,不是普通可选分类。无效 `categoryId` 可能导致 CLI `get/list` 能看到用例,但客户端分类列表里不可见、不可操作。创建前必须使用 `test-case category` 获取有效 ID。
更新时必须先 `get` 原结构并基于完整结构修改,再校验 `test-case-update` schema,避免丢失已有步骤、断言、变量提取或处理器。`update` 不是 JSON Patch,也不会按 id 合并数组元素。
`test-case-create` 和 `test-case-update` schema 已包含前后置处理器、断言、提取变量和枚举值说明。首次编写 processor 时先看 schema,不要凭经验猜字段名、枚举值或旧格式。当前 `test-case-update` 会按 processor `type` 校验 `data` 结构;例如 `extractor` 会校验 `variableType/subject/shareScope`,`assertion` 会校验 `subject/comparison`,`delay` 的 `data` 必须是数字。
`test-case get` 回读结构里 `method` 可能是空字符串;这不代表前端方法展示异常,客户端通常从绑定 endpoint 展示 HTTP method。当前 `test-case-update` schema 已兼容该回读结构,更新时不要为了补 method 反向猜值,除非用户明确要改绑定接口或请求方法。
如果用户关心前端展示,必须额外验证:
1. 创建或更新后执行 `test-case get`。 2. 确认步骤、断言、提取变量、处理器字段被后端保存。 3. 确认字段不是空数组、空对象或写到错误层级。 4. 如果 CLI 返回成功但前端不展示,转 `apifox-cli-checkup`,先确认 project、branch、endpoint、categoryId 和回读结构是否一致。
示例:
{
"requestBody": {
"type": "application/json",
"data": "{\n \"name\": \"Demo\",\n \"description\": \"Readable in client\"\n}"
},
"postProcessors": [
{
"id": "postProcessors.0.customScript",
"type": "customScript",
"data": "pm.test('返回 ID', function () {\n var body = pm.response.json();\n pm.expect(body.data.id).to.exist;\n});",
"defaultEnable": true,
"enable": true
},
{
"id": "postProcessors.1.extractor",
"type": "extractor",
"data": {
"variableName": "project_pet_name",
"variableType": "globals",
"shareScope": "PROJECT",
"subject": "responseJson",
"expression": "$.name"
},
"defaultEnable": true,
"enable": true
}
]
}常规校验优先用可视化 `assertion`,自定义脚本只作为兜底能力。
断言规则:
{
"type": "assertion",
"data": {
"name": "HTTP 状态码为 200",
"subject": "httpCode",
"comparison": "equal",
"value": "200",
"path": ""
},
"defaultEnable": true,
"enable": true
}脚本规则:
pm.environment.set("variable_key", "variable_value");
pm.variables.set("variable_key", "variable_value");
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("JSON value equals expected", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});跨 Claude Code 与 Codex 两套 agent 的 skill 能力真源与同步规则。写入由 agent 执行,人只审校与决策。 把 Claude Code 与 Codex 的可复用能力收敛到一个仓库,按 platform-first 维护:每个平台独立持有自己的 skills/ 与运行约定,同名 skill 允许在两端并存,不强行抽象去重。 仓库要解决的是多端 AI 配置的漂移——GitHub 仓库、本地工作区、本地 CLI
Repo: codingSamss/all-my-ai-needs
查询 AIHOT 的中文 AI 资讯、精选、当前热点和日报。用户询问今天或最近的 AI 新闻、AI 圈动态、大模型或产品发布、OpenAI/Anthropic/Google 最新消息、AI 论文、AI 日报、AIHOT 精选、当前最热事件,或需要同步当前全部精选时使用。必须通过 aihot.news 的匿名只读…
通过 Apifox CLI 管理 Apifox 项目资源。触发场景:运行接口自动化测试/测试套件,查询/创建/更新/删除接口、环境、Schema、Mock、分支等项目资源,导入导出 API 文档,查看测试报告,管理 Runner、定时任务、通知等 CI/CD 配置。CLI 输出为结构化 JSON,常含…
Read Bilibili (B站) content. Actions: search videos, view hot/rank feeds, read video details, prepare audio, and read subtitles through OpenCLI. Keywords:…
Organize X/Twitter bookmark folders (collections) via GraphQL with Chrome cookie auth. Actions: list folders, list folder contents, add/remove/move a bookmark…
Read X/Twitter content via Bird CLI. Actions: read tweets, search, view all bookmarks or bookmark folders, trending, news, timeline, mentions, lists. Keywords:…
CC×Codex 交叉讨论。不确定性强的问题(事实核查 / 有争议或乐观的结论 / 重要技术决策)找 codex 交叉验证,避免单模型片面。关键词: 让codex看看, 跟codex讨论, codex审查, 帮我审查, review, 交叉讨论, battle, 发给codex, 继续讨论, 接着聊