PRA-only-demo/resources/test-flows/app-system/test_appsystem_09.json
liuwenxin d489288c8e test(应用与系统): 添加组件验收流程与复测报告
提供 13 组、74 个用例,覆盖 49 项可执行组件。
新增隔离运行、真实界面检查、结果汇总和安全安装脚本。
升级仅覆盖未修改的测试模板,并保留原文件备份。
为手动操作设置保护开关,保留修复前后验证证据。

验证:43 项相关检查、类型检查与构建通过。
2026-11-02 09:06:40 +08:00

871 lines
20 KiB
JSON

{
"schemaVersion": 1,
"id": "test_appsystem_09",
"name": "组件测试 09 · 输入法【手动】",
"description": "手动测试:先阅读测试说明。默认不开启执行开关,不能把组件返回成功当作功能通过。",
"enabled": true,
"trigger": {
"type": "manual",
"label": "手动运行"
},
"variables": [],
"nodes": [
{
"id": "t09_1",
"componentId": "Trigger.Manual",
"label": "人工发起",
"position": {
"x": 220,
"y": 80
},
"values": {
"entryName": "开始组件测试"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_2",
"componentId": "Basic_SetVariable",
"label": "初始化失败计数",
"position": {
"x": 220,
"y": 222
},
"values": {
"value": 0
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
}
},
{
"id": "t09_3",
"componentId": "Basic_SetVariable",
"label": "初始化待确认计数",
"position": {
"x": 220,
"y": 364
},
"values": {
"value": 0
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
}
},
{
"id": "t09_4",
"componentId": "Basic_SetVariable",
"label": "初始化阻塞计数",
"position": {
"x": 220,
"y": 506
},
"values": {
"value": 0
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "blocked"
}
},
{
"id": "t09_5",
"componentId": "Basic_SetVariable",
"label": "手动执行开关:确认环境后才可改为 true",
"position": {
"x": 220,
"y": 648
},
"values": {
"value": false
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "manualEnabled"
}
},
{
"id": "t09_6",
"componentId": "logic_control_try_catch",
"label": "09-01 · System_GetInputMethodState",
"position": {
"x": 220,
"y": 790
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_7",
"componentId": "logic_control_if_else",
"label": "手动执行保护",
"position": {
"x": 220,
"y": 1160
},
"values": {
"condition": "${manualEnabled === true}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t09_6",
"slot": "try_fn"
},
{
"id": "t09_8",
"componentId": "ExceptionUtil_Throws",
"label": "默认不执行系统状态操作",
"position": {
"x": 220,
"y": 1160
},
"values": {
"msg": "待人工确认:执行开关未开启"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t09_7",
"slot": "statement_else"
},
{
"id": "t09_9",
"componentId": "System_GetInputMethodState",
"label": "System_GetInputMethodState",
"position": {
"x": 220,
"y": 1160
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "originalIme"
},
"parentId": "t09_7",
"slot": "statement_if"
},
{
"id": "t09_10",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 1160
},
"values": {
"value": "${[\"09-01\", \"System_GetInputMethodState\", \"MANUAL\", \"{}\", \"读取前台窗口的真实输入法状态,人工对照任务栏\", originalIme]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_1"
},
"parentId": "t09_7",
"slot": "statement_if"
},
{
"id": "t09_11",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 1160
},
"values": {
"value": "${failures + (case_1[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t09_7",
"slot": "statement_if"
},
{
"id": "t09_12",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 1160
},
"values": {
"value": "${pending + (case_1[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t09_7",
"slot": "statement_if"
},
{
"id": "t09_13",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 1160
},
"values": {
"value": "${[\"09-01\", \"System_GetInputMethodState\", manualEnabled === true ? \"FAIL\" : \"MANUAL\", \"{}\", \"读取前台窗口的真实输入法状态,人工对照任务栏\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_1"
},
"parentId": "t09_6",
"slot": "except_fn"
},
{
"id": "t09_14",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 1160
},
"values": {
"value": "${failures + (case_1[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t09_6",
"slot": "except_fn"
},
{
"id": "t09_15",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 1160
},
"values": {
"value": "${pending + (case_1[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t09_6",
"slot": "except_fn"
},
{
"id": "t09_16",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 1294
},
"values": {
"msg": "用例结果:${json(case_1)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_17",
"componentId": "logic_control_try_catch",
"label": "09-02 · System_SetInputMethodState",
"position": {
"x": 220,
"y": 1436
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_18",
"componentId": "logic_control_if_else",
"label": "手动执行保护",
"position": {
"x": 220,
"y": 1520
},
"values": {
"condition": "${manualEnabled === true}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t09_17",
"slot": "try_fn"
},
{
"id": "t09_19",
"componentId": "ExceptionUtil_Throws",
"label": "默认不执行系统状态操作",
"position": {
"x": 220,
"y": 1520
},
"values": {
"msg": "待人工确认:执行开关未开启"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t09_18",
"slot": "statement_else"
},
{
"id": "t09_20",
"componentId": "System_SetInputMethodState",
"label": "System_SetInputMethodState",
"position": {
"x": 220,
"y": 1520
},
"values": {
"mode": "en-US"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_2"
},
"parentId": "t09_18",
"slot": "statement_if"
},
{
"id": "t09_21",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 1520
},
"values": {
"value": "${[\"09-02\", \"System_SetInputMethodState\", \"MANUAL\", \"{\\\"mode\\\":\\\"en-US\\\"}\", \"前台编辑器应切换到英文模式;仅子进程返回 set:true 不能算通过\", actual_2]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_2"
},
"parentId": "t09_18",
"slot": "statement_if"
},
{
"id": "t09_22",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 1520
},
"values": {
"value": "${failures + (case_2[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t09_18",
"slot": "statement_if"
},
{
"id": "t09_23",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 1520
},
"values": {
"value": "${pending + (case_2[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t09_18",
"slot": "statement_if"
},
{
"id": "t09_24",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 1520
},
"values": {
"value": "${[\"09-02\", \"System_SetInputMethodState\", manualEnabled === true ? \"FAIL\" : \"MANUAL\", \"{\\\"mode\\\":\\\"en-US\\\"}\", \"前台编辑器应切换到英文模式;仅子进程返回 set:true 不能算通过\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_2"
},
"parentId": "t09_17",
"slot": "except_fn"
},
{
"id": "t09_25",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 1520
},
"values": {
"value": "${failures + (case_2[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t09_17",
"slot": "except_fn"
},
{
"id": "t09_26",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 1520
},
"values": {
"value": "${pending + (case_2[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t09_17",
"slot": "except_fn"
},
{
"id": "t09_27",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 1940
},
"values": {
"msg": "用例结果:${json(case_2)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_28",
"componentId": "logic_control_try_catch",
"label": "09-03 · System_SetInputMethodState",
"position": {
"x": 220,
"y": 2082
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_29",
"componentId": "logic_control_if_else",
"label": "手动执行保护",
"position": {
"x": 220,
"y": 1880
},
"values": {
"condition": "${manualEnabled === true}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t09_28",
"slot": "try_fn"
},
{
"id": "t09_30",
"componentId": "ExceptionUtil_Throws",
"label": "默认不执行系统状态操作",
"position": {
"x": 220,
"y": 1880
},
"values": {
"msg": "待人工确认:执行开关未开启"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t09_29",
"slot": "statement_else"
},
{
"id": "t09_31",
"componentId": "System_SetInputMethodState",
"label": "System_SetInputMethodState",
"position": {
"x": 220,
"y": 1880
},
"values": {
"mode": "${originalIme.culture}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_3"
},
"parentId": "t09_29",
"slot": "statement_if"
},
{
"id": "t09_32",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 1880
},
"values": {
"value": "${[\"09-03\", \"System_SetInputMethodState\", \"MANUAL\", \"{\\\"mode\\\":\\\"${originalIme.culture}\\\"}\", \"恢复原输入法;人工确认前台窗口的实际状态\", actual_3]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_3"
},
"parentId": "t09_29",
"slot": "statement_if"
},
{
"id": "t09_33",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 1880
},
"values": {
"value": "${failures + (case_3[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t09_29",
"slot": "statement_if"
},
{
"id": "t09_34",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 1880
},
"values": {
"value": "${pending + (case_3[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t09_29",
"slot": "statement_if"
},
{
"id": "t09_35",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 1880
},
"values": {
"value": "${[\"09-03\", \"System_SetInputMethodState\", manualEnabled === true ? \"FAIL\" : \"MANUAL\", \"{\\\"mode\\\":\\\"${originalIme.culture}\\\"}\", \"恢复原输入法;人工确认前台窗口的实际状态\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_3"
},
"parentId": "t09_28",
"slot": "except_fn"
},
{
"id": "t09_36",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 1880
},
"values": {
"value": "${failures + (case_3[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t09_28",
"slot": "except_fn"
},
{
"id": "t09_37",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 1880
},
"values": {
"value": "${pending + (case_3[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t09_28",
"slot": "except_fn"
},
{
"id": "t09_38",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 2586
},
"values": {
"msg": "用例结果:${json(case_3)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_39",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 2728
},
"values": {
"msg": "本组汇总:失败 ${failures} 项,阻塞 ${blocked} 项,待人工确认 ${pending} 项。"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_40",
"componentId": "logic_control_if_else",
"label": "汇总判定",
"position": {
"x": 220,
"y": 2870
},
"values": {
"condition": "${failures > 0 || pending > 0 || blocked > 0}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t09_41",
"componentId": "ExceptionUtil_Throws",
"label": "如实标记未通过",
"position": {
"x": 220,
"y": 2420
},
"values": {
"msg": "组件测试未全部通过:失败 ${failures} 项,阻塞 ${blocked} 项,待人工确认 ${pending} 项。请查看日志。"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t09_40",
"slot": "statement_if"
},
{
"id": "t09_42",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 2420
},
"values": {
"msg": "本组全部通过。"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t09_40",
"slot": "statement_else"
}
],
"edges": [
{
"id": "e_t09_2",
"source": "t09_1",
"target": "t09_2"
},
{
"id": "e_t09_3",
"source": "t09_2",
"target": "t09_3"
},
{
"id": "e_t09_4",
"source": "t09_3",
"target": "t09_4"
},
{
"id": "e_t09_5",
"source": "t09_4",
"target": "t09_5"
},
{
"id": "e_t09_6",
"source": "t09_5",
"target": "t09_6"
},
{
"id": "e_t09_16",
"source": "t09_6",
"target": "t09_16"
},
{
"id": "e_t09_17",
"source": "t09_16",
"target": "t09_17"
},
{
"id": "e_t09_27",
"source": "t09_17",
"target": "t09_27"
},
{
"id": "e_t09_28",
"source": "t09_27",
"target": "t09_28"
},
{
"id": "e_t09_38",
"source": "t09_28",
"target": "t09_38"
},
{
"id": "e_t09_39",
"source": "t09_38",
"target": "t09_39"
},
{
"id": "e_t09_40",
"source": "t09_39",
"target": "t09_40"
}
],
"meta": {
"createdAt": "2026-10-30T00:00:00.000Z",
"updatedAt": "2026-10-30T00:00:00.000Z",
"appVersion": "0.1.0"
}
}