工业miniAPP接口调试用例集(赛题适配版)
工业miniAPP接口调试用例集(赛题适配版)
项目名称:工业miniAPP (IndustrialMiniAPP)
用例版本:V1.0
适配接口:工业miniAPP API接口设计说明书V1.0
调试环境:iDME 1.24.090-HCS 本地运行态、Postman/Vscode Rest Client
核心用途:覆盖赛题所有功能点的接口调试,验证接口正确性与赛题适配性,支撑功能演示录屏与工程提交
一、调试前置条件
1.1 环境配置
| 配置项 | 配置值示例 | 说明 |
|---|---|---|
| iDME_ENDPOINT | 127.0.0.1:8080 | 本地部署的iDME运行态端点 |
| APP_ID | IndustrialMiniAPP | xDM-F平台创建的应用ID |
| X-Auth-Token | MIIPAgYJKoZIhvcNAQcCo... | 从iDME平台获取的有效Token(有效期24小时) |
| 基础URL模板 | http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api | 业务接口基础路径 |
1.2 通用请求头
1.3 预期响应规范
所有接口调试通过的标准:
响应状态码为200(HTTP层面)
返回
code字段为"0000"data字段包含核心业务数据(如实例ID、编码等)无
xdmfErrorCode字段或该字段为空
二、分模块调试用例
2.1 设备管理模块(赛题10分)
用例1:新增设备(核心功能,必过)
| 用例ID | DM-001 | 测试类型 | 功能测试 |
|---|---|---|---|
| 测试目的 | 验证设备基础信息及扩展属性录入功能,符合赛题所有必填字段要求 | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Equipment/create | ||
| 请求体 |
{
"params": {
"equipmentCode": "EQ20250001",
"equipmentName": "五轴加工中心",
"manufacturer": "DMG MORI",
"brand": "DMG MORI",
"specification": "CMX 50 U",
"supplier": "上海某机械有限公司",
"productionDate": "2025-01-01",
"serviceLife": "5年",
"depreciationMethod": "平均年限法",
"location": "车间A区1号工位",
"extAttrs": {
"technicalParams": [
{"attrName": "功率", "attrValue": "15kW", "attrType": "文本"},
{"attrName": "转速", "attrValue": "3000rpm", "attrType": "数值"}
],
"spareParts": [
{"partCode": "SP2025001", "partName": "轴承", "stockQuantity": 10, "unit": "个"}
]
},
"creator": "test_user"
}
}
| 预期响应 |
{
"code": "0000",
"msg": "设备新增成功",
"data": {
"id": "${EQUIPMENT_ID}", // 记录该ID,后续用例复用
"equipmentCode": "EQ20250001",
"equipmentName": "五轴加工中心"
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 覆盖设备编码、名称、生产厂家等10个必填字段+扩展属性,直接关联设备管理模块5分基础分+5分扩展分 |
| 异常场景测试 | 1. 设备编码重复 → 预期code: E003,msg: "设备编码已存在";2. 缺少生产厂家字段 → 预期code: P008,msg: "生产厂家为必填字段" |
用例2:修改设备状态(核心约束,必过)
| 用例ID | DM-002 | 测试类型 | 功能+约束测试 |
|---|---|---|---|
| 测试目的 | 验证设备状态变更功能及“被工艺引用不可停机/报废”约束 | ||
| 前置依赖 | 已执行DM-001,获取EQUIPMENT_ID | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Equipment/update | ||
| 请求体 |
| 预期响应(未被引用场景) |
{
"code": "0000",
"msg": "设备状态更新成功",
"data": {
"id": "${EQUIPMENT_ID}",
"status": "STOPPED",
"lastUpdateTime": "2025-01-02T10:00:00"
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 异常场景测试 | 设备被工艺引用时执行此操作 → 预期code: E002,msg: "设备被工艺引用,禁止停机/报废" |
| 赛题适配点 | 验证设备状态变更功能,符合赛题设备管理模块“修改”要求 |
用例3:查询设备列表(筛选功能,必过)
| 用例ID | DM-003 | 测试类型 | 查询测试 |
|---|---|---|---|
| 测试目的 | 验证按状态、位置筛选设备功能,支撑赛题“设备快速查找和统计”要求 | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Equipment/find/20/1 | ||
| 请求体 |
{
"params": {
"filter": {
"joiner": "and",
"conditions": [
{"conditionName": "status", "operator": "=", "conditionValues": ["STOPPED"]},
{"conditionName": "location", "operator": "like", "conditionValues": ["车间A%"]}
]
},
"sorts": [{"orderBy": "createTime", "sort": "DESC"}],
"isNeedTotal": true
}
}
| 预期响应 |
{
"code": "0000",
"msg": "查询成功",
"data": {
"items": [
{
"id": "${EQUIPMENT_ID}",
"equipmentCode": "EQ20250001",
"equipmentName": "五轴加工中心",
"status": "STOPPED",
"location": "车间A区1号工位",
"brand": "DMG MORI",
"specification": "CMX 50 U"
}
],
"pageInfo": {
"curPage": 1,
"pageSize": 20,
"totalRows": 1,
"totalPages": 1
}
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 覆盖设备查询与筛选功能,符合赛题“快速查找和统计”要求 |
2.2 物料管理模块(赛题25分)
用例4:创建物料分类(分类管理,必过)
| 用例ID | MM-001 | 测试类型 | 功能测试 |
|---|---|---|---|
| 测试目的 | 验证物料树形分类创建功能,支撑赛题“分类管理”要求 | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/PartCategory/create | ||
| 请求体 |
| 预期响应 |
{
"code": "0000",
"msg": "分类创建成功",
"data": {
"id": "${CATEGORY_ID}", // 记录该ID,后续用例复用
"name": "电子元器件",
"parentId": null,
"fullPath": "电子元器件/"
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 覆盖物料分类管理功能,直接关联物料管理模块5分 |
用例5:新增物料(基础属性,必过)
| 用例ID | MM-002 | 测试类型 | 功能测试 |
|---|---|---|---|
| 测试目的 | 验证物料基础属性录入功能,覆盖赛题所有必填字段 | ||
| 前置依赖 | 已执行MM-001,获取CATEGORY_ID | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Part/create | ||
| 请求体 |
{
"params": {
"partCode": "P20250001",
"partName": "高精度齿轮",
"specification": "M1.5×30×20",
"stockQuantity": 100,
"supplier": "深圳某精密零件厂",
"categoryId": "${CATEGORY_ID}",
"version": "1.0",
"status": "ENABLED",
"extAttrs": {"material": "45号钢"},
"creator": "test_user"
}
}
| 预期响应 |
{
"code": "0000",
"msg": "物料新增成功",
"data": {
"id": "${PART_ID}", // 记录该ID,后续用例复用
"partCode": "P20250001",
"partName": "高精度齿轮",
"version": "1.0",
"status": "ENABLED"
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 覆盖物料编号、名称等5个必填字段,关联物料管理模块5分基础分 |
| 异常场景测试 | 库存数量为负数 → 预期code: P009,msg: "库存数量不能为负数" |
用例6:物料升版(版本管理,必过)
| 用例ID | MM-003 | 测试类型 | 功能测试 |
|---|---|---|---|
| 测试目的 | 验证物料版本管理功能,支撑赛题“版本管理”要求 | ||
| 前置依赖 | 已执行MM-002,获取PART_ID | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Part/saveAs | ||
| 请求体 |
| 预期响应 |
{
"code": "0000",
"msg": "物料升版成功",
"data": {
"id": "${NEW_PART_ID}",
"partCode": "P20250001",
"version": "1.1",
"specification": "M1.5×30×22",
"status": "ENABLED"
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 覆盖物料版本管理功能,直接关联物料管理模块5分 |
用例7:构建BOM(BOM管理,必过)
| 用例ID | MM-004 | 测试类型 | 功能测试 |
|---|---|---|---|
| 测试目的 | 验证物料组成关系创建功能,支撑赛题“构建物料清单BOM”要求 | ||
| 前置依赖 | 新增父物料P20250002(行星架),获取PARENT_PART_ID;已执行MM-002获取PART_ID(子物料) | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Part_BOM_Rel/create | ||
| 请求体 |
| 预期响应 |
{
"code": "0000",
"msg": "BOM关系创建成功",
"data": {
"id": "${BOM_REL_ID}",
"parentPartId": "P20250002",
"childPartId": "P20250001",
"quantity": 3,
"sequence": 1
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 覆盖BOM构建功能,直接关联物料管理模块5分 |
用例8:搜索物料(搜索功能,必过)
| 用例ID | MM-005 | 测试类型 | 功能测试 |
|---|---|---|---|
| 测试目的 | 验证按编码、名称、分类搜索物料功能,支撑赛题“按属性搜索查看物料”要求 | ||
| 前置依赖 | 已执行MM-001(CATEGORY_ID)、MM-002(PART_ID) | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Part/find/20/1 | ||
| 请求体 |
{
"params": {
"filter": {
"joiner": "or",
"conditions": [
{"conditionName": "partCode", "operator": "like", "conditionValues": ["P2025%"]},
{"conditionName": "partName", "operator": "like", "conditionValues": ["齿轮%"]},
{"conditionName": "categoryId", "operator": "=", "conditionValues": ["${CATEGORY_ID}"]}
]
},
"sorts": [{"orderBy": "partCode", "sort": "ASC"}],
"isNeedTotal": true
}
}
| 预期响应 |
{
"code": "0000",
"msg": "查询成功",
"data": {
"items": [
{
"id": "${PART_ID}",
"partCode": "P20250001",
"partName": "高精度齿轮",
"categoryId": "${CATEGORY_ID}",
"version": "1.0",
"stockQuantity": 100
}
],
"pageInfo": {
"curPage": 1,
"pageSize": 20,
"totalRows": 1,
"totalPages": 1
}
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 覆盖物料搜索功能,直接关联物料管理模块5分 |
2.3 工序及工艺管理模块(赛题15分)
用例9:预置5道工序(配置工序,必过)
| 用例ID | PM-001 | 测试类型 | 批量功能测试 |
|---|---|---|---|
| 测试目的 | 验证赛题要求的5道固定工序创建功能,关联配置工序模块5分 | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/WorkingProcedure/create | ||
| 请求体(循环执行5次,每次1道工序) |
// 第1次:毛坯制造(WP001)
{
"params": {
"code": "WP001",
"name": "毛坯制造",
"productionSteps": "1. 铸造原料;2. 锻造成型;3. 初步打磨",
"defaultDuration": 60,
"description": "行星减速器零件毛坯加工",
"creator": "system"
}
}
// 第2次:粗加工(WP002)
{
"params": {
"code": "WP002",
"name": "粗加工",
"productionSteps": "1. 铣削外形;2. 钻孔定位;3. 去毛刺",
"defaultDuration": 45,
"description": "零件粗加工成型",
"creator": "system"
}
}
// 第3次:精加工(WP003)、第4次:检测(WP004)、第5次:入库(WP005),格式同上
| 预期响应(单道工序) |
{
"code": "0000",
"msg": "工序创建成功",
"data": {
"id": "${PROCEDURE_ID}",
"code": "WP001",
"name": "毛坯制造"
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 严格按赛题要求创建5道工序,直接关联配置工序模块5分,每少1道扣1分 |
用例10:新增工艺+关联工序(工艺配置,必过)
| 用例ID | PM-002 | 测试类型 | 组合功能测试 |
|---|---|---|---|
| 测试目的 | 验证工艺创建及工序关联功能,支撑赛题“配置工艺路线”要求 | ||
| 前置依赖 | 已执行PM-001,获取5道工序编码(WP001-WP005) | ||
| 步骤1:新增工艺 |
请求URL:POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/WorkingPlan/create
请求体:
{ "params": { "planId": "PL20250001", "planName": "中心轮加工工艺", "productName": "精密行星减速器", "version": "1.0", "description": "中心轮零件全流程加工工艺", "operator": "test_user", "operationTime": "2025-01-03T09:00:00", "status": "Draft" } }预期响应:
code: 0000,返回PLAN_ID(记录该ID) |
| 步骤2:关联5道工序(循环执行5次) |请求URL:POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Plan_Procedure_Rel/create
请求体(以WP001为例):
预期响应:
code: 0000,返回关联关系ID |
| 赛题适配点 | 覆盖工艺创建+工序关联功能,关联配置工艺路线模块5分基础分 |
用例11:工序关联设备/物料(资源关联,必过)
| 用例ID | PM-003 | 测试类型 | 组合功能测试 |
|---|---|---|---|
| 测试目的 | 验证工序与资源的关联功能,支撑赛题“工艺与工序、工序与设备/物料关联”要求 | ||
| 前置依赖 | 已执行PM-002(获取PLAN_PROCEDURE_REL_ID)、DM-001(EQUIPMENT_ID)、MM-002(PART_ID) | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/Procedure_Resource_Rel/create | ||
| 请求体(设备关联) |
| 预期响应 |
{
"code": "0000",
"msg": "工序-资源关联成功",
"data": {
"id": "${RESOURCE_REL_ID}",
"sourceRelationId": "${PLAN_PROCEDURE_REL_ID}",
"targetType": "DEVICE",
"targetId": "EQ20250001",
"quantity": 1
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 覆盖工序与设备/物料关联功能,关联配置工艺路线模块5分工序关联分 |
用例12:生成工艺路线(核心功能,必过)
| 用例ID | PM-004 | 测试类型 | 核心功能测试 |
|---|---|---|---|
| 测试目的 | 验证赛题要求的“中心轮零件加工V1.0”工艺路线生成功能 | ||
| 前置依赖 | 已执行PM-002(工艺状态更新为Submitted) | ||
| 请求URL | POST http://{iDME_ENDPOINT}/rdm_{APP_ID}_app/services/dynamic/api/ProcessRoute/create | ||
| 请求体 |
| 预期响应 |
{
"code": "0000",
"msg": "工艺路线生成成功",
"data": {
"routeId": "${ROUTE_ID}",
"planName": "中心轮零件加工",
"version": "1.0",
"status": "Published",
"planId": "${PLAN_ID}"
},
"requestId": "${REQUEST_ID}",
"timestamp": "${TIMESTAMP}",
"xdmfErrorCode": ""
}
| 赛题适配点 | 严格按赛题要求生成工艺路线,直接关联配置工艺路线模块满分 |
2.4 数据建模验证用例(赛题30分)
用例13:导出模型Excel+截图(必做,不涉及接口调试)
| 用例ID | DM-001 | 测试类型 | 交付物验证 |
|---|---|---|---|
| 测试目的 | 验证xDM-F模型导出功能,生成赛题要求的提交物 | ||
| 操作步骤 | 1. 登录xDM-F平台应用设计态;2. 进入“数据建模”→“模型导出”;3. 选择“Excel格式”导出;4. 截图模型图谱(包含所有实体及关联关系);5. 检查Excel包含实体、字段、关系、索引4个工作表 | ||
| 交付物要求 | 1. Excel文件:字段完整、约束正确、关联关系清晰;2. 图谱截图:标注实体中文名、功能绑定(如“Part-版本服务”)、关系类型 | ||
| 赛题适配点 | 直接关联工业数据建模模块30分,模型错误每处扣3-4分 |
三、调试流程总览(支撑功能演示录屏)
3.1 完整业务流程调试顺序
执行DM-001(新增设备)→ DM-002(修改设备状态)→ DM-003(查询设备)
执行MM-001(创建分类)→ MM-002(新增物料)→ MM-003(物料升版)→ MM-004(构建BOM)→ MM-005(搜索物料)
执行PM-001(预置5道工序)→ PM-002(新增工艺+关联工序)→ PM-003(关联资源)→ PM-004(生成工艺路线)
导出模型Excel+截图(交付物)
3.2 演示录屏要点
每步操作需展示接口请求参数、响应结果及前端页面效果(如有)
重点展示赛题核心功能:设备扩展属性录入、物料BOM构建、5道工序配置、工艺路线生成
验证异常场景:设备编码重复、库存为负、工序关联缺失等,展示错误提示
导出交付物时展示操作过程,确保截图清晰、Excel字段完整
四、常见问题排查
| 问题现象 | 可能原因 | 排查方法 |
|---|---|---|
| 所有接口返回401 | Token过期或无效 | 重新从iDME平台获取Token,更新请求头 |
| 新增实体返回“字段不存在” | 实体字段未在xDM-F配置 | 检查xDM-F模型字段配置,确保与请求体字段名一致 |
| 关联关系创建失败 | 源/目标实体ID错误 | 核对前置用例返回的实例ID,确保无拼写错误 |
| 导出Excel缺少字段 | 模型未发布或部署 | 先发布数据模型,再部署应用至运行态 |
| 权限校验失败(code:A002) | 用户无目标权限 | 检查iDME平台用户角色与权限配置,重新分配权限 |
要不要我帮你生成一份Postman接口集合导入文件,包含所有用例的请求配置,可直接导入工具调试?


评论