PRA-only-demo/resources/test-flows/app-system/manifest.json

862 lines
27 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"schemaVersion": 1,
"generatedAt": "2026-10-30T00:00:00.000Z",
"groups": [
{
"id": "test_appsystem_01",
"file": "test_appsystem_01.json",
"name": "组件测试 01 · 应用与 PID",
"manual": false,
"components": [
"App_Run",
"App_GetPid",
"App_GetPids",
"App_Kill",
"App_KillV1"
],
"cases": [
{
"id": "01-01",
"componentId": "App_Run",
"targetNodeId": "t01_8",
"resultVariable": "case_1",
"input": "{\"executeable\":\"${fixture.exe}\"}",
"expected": "第一个测试进程 PID 大于 0",
"observe": false
},
{
"id": "01-02",
"componentId": "App_Run",
"targetNodeId": "t01_17",
"resultVariable": "case_2",
"input": "{\"executeable\":\"${fixture.exe}\"}",
"expected": "第二个 PID 大于 0,且与第一个不同",
"observe": false
},
{
"id": "01-03",
"componentId": "App_GetPid",
"targetNodeId": "t01_26",
"resultVariable": "case_3",
"input": "{\"pattern\":\"${fixture.name}.exe\"}",
"expected": "返回本次创建的任一 PID",
"observe": false
},
{
"id": "01-04",
"componentId": "App_GetPids",
"targetNodeId": "t01_35",
"resultVariable": "case_4",
"input": "{\"pattern\":\"${fixture.name}.exe\"}",
"expected": "列表恰含本次创建的两个 PID",
"observe": false
},
{
"id": "01-05",
"componentId": "App_Kill",
"targetNodeId": "t01_44",
"resultVariable": "case_5",
"input": "{\"pid\":\"${pid1}\"}",
"expected": "结束第一个夹具 PID,第二个仍在运行",
"observe": false
},
{
"id": "01-06",
"componentId": "App_KillV1",
"targetNodeId": "t01_55",
"resultVariable": "case_6",
"input": "{\"close_type\":\"id\",\"pid\":\"${pid2}\",\"kill_all\":\"0\"}",
"expected": "只填写 PID 即可结束第二个夹具进程",
"observe": false
},
{
"id": "01-07",
"componentId": "App_GetPids",
"targetNodeId": "t01_65",
"resultVariable": "case_7",
"input": "{\"pattern\":\"${fixture.name}.exe\"}",
"expected": "所有夹具结束后应返回空数组 []",
"observe": false
},
{
"id": "01-08",
"componentId": "App_GetPid",
"targetNodeId": "t01_74",
"resultVariable": "case_8",
"input": "{\"pattern\":\"${fixture.name}.exe\"}",
"expected": "无匹配时应返回 null",
"observe": false
}
]
},
{
"id": "test_appsystem_02",
"file": "test_appsystem_02.json",
"name": "组件测试 02 · 数据转换",
"manual": false,
"components": [
"Basic_StringToNum",
"Basic_ConvertNumber",
"Basic_ConvertInt",
"Basic_ConvertBool",
"Basic_ConvertString",
"Basic_DataTypeConversion",
"Basic_Dodecryption"
],
"cases": [
{
"id": "02-01",
"componentId": "Basic_StringToNum",
"targetNodeId": "t02_6",
"resultVariable": "case_1",
"input": "{\"val\":\"123.5\"}",
"expected": "数字 123.5",
"observe": false
},
{
"id": "02-02",
"componentId": "Basic_ConvertNumber",
"targetNodeId": "t02_15",
"resultVariable": "case_2",
"input": "{\"val\":\"-42.25\"}",
"expected": "数字 -42.25",
"observe": false
},
{
"id": "02-03",
"componentId": "Basic_ConvertInt",
"targetNodeId": "t02_24",
"resultVariable": "case_3",
"input": "{\"val\":-3.9}",
"expected": "整数 -3(向零截断)",
"observe": false
},
{
"id": "02-04",
"componentId": "Basic_ConvertBool",
"targetNodeId": "t02_33",
"resultVariable": "case_4",
"input": "{\"val\":\"true\"}",
"expected": "布尔 true",
"observe": false
},
{
"id": "02-05",
"componentId": "Basic_ConvertBool",
"targetNodeId": "t02_42",
"resultVariable": "case_5",
"input": "{\"val\":\"false\"}",
"expected": "布尔 false",
"observe": false
},
{
"id": "02-06",
"componentId": "Basic_ConvertString",
"targetNodeId": "t02_51",
"resultVariable": "case_6",
"input": "{\"val\":42}",
"expected": "文本 \"42\"",
"observe": false
},
{
"id": "02-07",
"componentId": "Basic_DataTypeConversion",
"targetNodeId": "t02_60",
"resultVariable": "case_7",
"input": "{\"val\":\"42\",\"into_type\":\"number\"}",
"expected": "数值 42,严格区分文本和数值",
"observe": false
},
{
"id": "02-08",
"componentId": "Basic_DataTypeConversion",
"targetNodeId": "t02_69",
"resultVariable": "case_8",
"input": "{\"val\":\"-3.9\",\"into_type\":\"int\"}",
"expected": "整数 -3",
"observe": false
},
{
"id": "02-09",
"componentId": "Basic_DataTypeConversion",
"targetNodeId": "t02_78",
"resultVariable": "case_9",
"input": "{\"val\":\"false\",\"into_type\":\"bool\"}",
"expected": "布尔 false",
"observe": false
},
{
"id": "02-10",
"componentId": "Basic_DataTypeConversion",
"targetNodeId": "t02_87",
"resultVariable": "case_10",
"input": "{\"val\":42,\"into_type\":\"string\"}",
"expected": "文本 \"42\"",
"observe": false
},
{
"id": "02-11",
"componentId": "Basic_Dodecryption",
"targetNodeId": "t02_96",
"resultVariable": "case_11",
"input": "{\"words\":\"UlBBLURvZGVjcnlwdGlvbg==\"}",
"expected": "Base64 解码 \"RPA-Dodecryption\"",
"observe": false
}
]
},
{
"id": "test_appsystem_03",
"file": "test_appsystem_03.json",
"name": "组件测试 03 · 数据判断",
"manual": false,
"components": [
"Basic_IsDictionary",
"Basic_IsNumber",
"Basic_IsNull",
"Basic_IsArray",
"Basic_Type",
"Basic_JudgeDataType"
],
"cases": [
{
"id": "03-01",
"componentId": "Basic_IsDictionary",
"targetNodeId": "t03_6",
"resultVariable": "case_1",
"input": "{\"val\":{\"name\":\"测试\"}}",
"expected": "true",
"observe": false
},
{
"id": "03-02",
"componentId": "Basic_IsDictionary",
"targetNodeId": "t03_15",
"resultVariable": "case_2",
"input": "{\"val\":[]}",
"expected": "false",
"observe": false
},
{
"id": "03-03",
"componentId": "Basic_IsNumber",
"targetNodeId": "t03_24",
"resultVariable": "case_3",
"input": "{\"val\":\"12.5\"}",
"expected": "true",
"observe": false
},
{
"id": "03-04",
"componentId": "Basic_IsNumber",
"targetNodeId": "t03_33",
"resultVariable": "case_4",
"input": "{\"val\":\"中文\"}",
"expected": "false",
"observe": false
},
{
"id": "03-05",
"componentId": "Basic_IsNull",
"targetNodeId": "t03_42",
"resultVariable": "case_5",
"input": "{\"val\":null}",
"expected": "true",
"observe": false
},
{
"id": "03-06",
"componentId": "Basic_IsNull",
"targetNodeId": "t03_51",
"resultVariable": "case_6",
"input": "{\"val\":\"\"}",
"expected": "true",
"observe": false
},
{
"id": "03-07",
"componentId": "Basic_IsNull",
"targetNodeId": "t03_60",
"resultVariable": "case_7",
"input": "{\"val\":0}",
"expected": "false",
"observe": false
},
{
"id": "03-08",
"componentId": "Basic_IsArray",
"targetNodeId": "t03_69",
"resultVariable": "case_8",
"input": "{\"val\":[]}",
"expected": "true",
"observe": false
},
{
"id": "03-09",
"componentId": "Basic_IsArray",
"targetNodeId": "t03_78",
"resultVariable": "case_9",
"input": "{\"val\":\"[]\"}",
"expected": "false",
"observe": false
},
{
"id": "03-10",
"componentId": "Basic_Type",
"targetNodeId": "t03_87",
"resultVariable": "case_10",
"input": "{\"val\":[1,2]}",
"expected": "\"list\"",
"observe": false
},
{
"id": "03-11",
"componentId": "Basic_Type",
"targetNodeId": "t03_96",
"resultVariable": "case_11",
"input": "{\"val\":null}",
"expected": "\"null\"",
"observe": false
},
{
"id": "03-12",
"componentId": "Basic_JudgeDataType",
"targetNodeId": "t03_105",
"resultVariable": "case_12",
"input": "{\"val\":42,\"into_type\":\"number\"}",
"expected": "数字 42 属于数值类型,返回布尔 true",
"observe": false
}
]
},
{
"id": "test_appsystem_04",
"file": "test_appsystem_04.json",
"name": "组件测试 04 · 变量与配置",
"manual": false,
"components": [
"Basic_SetVariable",
"Basic_SetVariable_V1",
"Basic_Clone",
"Basic_GetProcessInfo",
"Basic_DebugOutput",
"CustomConfig_GetConfig",
"Basic_BusinessOrderCount"
],
"cases": [
{
"id": "04-01",
"componentId": "Basic_SetVariable",
"targetNodeId": "t04_6",
"resultVariable": "case_1",
"input": "{\"value\":\"中文变量往返\"}",
"expected": "原值及输出变量均保持中文文本",
"observe": false
},
{
"id": "04-02",
"componentId": "Basic_SetVariable_V1",
"targetNodeId": "t04_15",
"resultVariable": "case_2",
"input": "{\"variableType\":\"rpa_int\",\"value\":\"42\"}",
"expected": "数字 42",
"observe": false
},
{
"id": "04-03",
"componentId": "Basic_SetVariable_V1",
"targetNodeId": "t04_24",
"resultVariable": "case_3",
"input": "{\"variableType\":\"rpa_list\",\"value\":\"[1,2]\"}",
"expected": "数组 [1,2]",
"observe": false
},
{
"id": "04-04",
"componentId": "Basic_Clone",
"targetNodeId": "t04_34",
"resultVariable": "case_4",
"input": "{\"val\":\"${original}\"}",
"expected": "深复制内容相同,外层和嵌套对象均不共用引用",
"observe": false
},
{
"id": "04-05",
"componentId": "Basic_GetProcessInfo",
"targetNodeId": "t04_43",
"resultVariable": "case_5",
"input": "{}",
"expected": "当前流程 ID、名称、运行 ID 和节点数一致",
"observe": false
},
{
"id": "04-06",
"componentId": "Basic_DebugOutput",
"targetNodeId": "t04_52",
"resultVariable": "case_6",
"input": "{\"msg\":\"中文日志测试:${actual_2}\"}",
"expected": "日志及返回值为“中文日志测试:42”",
"observe": false
},
{
"id": "04-07",
"componentId": "CustomConfig_GetConfig",
"targetNodeId": "t04_61",
"resultVariable": "case_7",
"input": "{\"jsonlist\":\"[{\\\"name\\\":\\\"timeout\\\",\\\"value\\\":30}]\",\"configName\":\"timeout\"}",
"expected": "数字 30",
"observe": false
},
{
"id": "04-08",
"componentId": "CustomConfig_GetConfig",
"targetNodeId": "t04_70",
"resultVariable": "case_8",
"input": "{\"jsonlist\":\"[]\",\"configName\":\"missing\"}",
"expected": "未命中返回 null",
"observe": false
},
{
"id": "04-09",
"componentId": "Basic_BusinessOrderCount",
"targetNodeId": "t04_79",
"resultVariable": "case_9",
"input": "{\"start_count\":10,\"count\":2}",
"expected": "首次计数 12",
"observe": false
},
{
"id": "04-10",
"componentId": "Basic_BusinessOrderCount",
"targetNodeId": "t04_88",
"resultVariable": "case_10",
"input": "{\"start_count\":10,\"count\":2}",
"expected": "同一流程再次计数 14",
"observe": false
}
]
},
{
"id": "test_appsystem_05",
"file": "test_appsystem_05.json",
"name": "组件测试 05 · 等待与随机数",
"manual": false,
"components": [
"Basic_Delay_V2",
"Basic_Delay_V1",
"Basic_Delay",
"Basic_RandomInt",
"Basic_Rnd"
],
"cases": [
{
"id": "05-01",
"componentId": "Basic_Delay_V2",
"targetNodeId": "t05_7",
"resultVariable": "case_1",
"input": "{\"is_random\":\"0\",\"second\":\"0.15\",\"min_second\":\"0.1\",\"max_second\":\"0.2\"}",
"expected": "实际等待耗时 120~1800 ms",
"observe": false
},
{
"id": "05-02",
"componentId": "Basic_Delay_V2",
"targetNodeId": "t05_18",
"resultVariable": "case_2",
"input": "{\"is_random\":\"1\",\"second\":\"0.15\",\"min_second\":\"0.1\",\"max_second\":\"0.2\"}",
"expected": "实际等待耗时 80~1800 ms",
"observe": false
},
{
"id": "05-03",
"componentId": "Basic_Delay_V1",
"targetNodeId": "t05_29",
"resultVariable": "case_3",
"input": "{\"second\":\"0.15\"}",
"expected": "实际等待耗时 120~1800 ms",
"observe": false
},
{
"id": "05-04",
"componentId": "Basic_Delay",
"targetNodeId": "t05_40",
"resultVariable": "case_4",
"input": "{\"mileSecond\":\"3000\"}",
"expected": "实际等待耗时 2800~6500 ms",
"observe": false
},
{
"id": "05-05",
"componentId": "Basic_RandomInt",
"targetNodeId": "t05_50",
"resultVariable": "case_5",
"input": "{\"min\":7,\"max\":7}",
"expected": "最小值等于最大值时返回整数 7",
"observe": false
},
{
"id": "05-06",
"componentId": "Basic_RandomInt",
"targetNodeId": "t05_59",
"resultVariable": "case_6",
"input": "{\"min\":-2,\"max\":2}",
"expected": "返回 -2~2 的整数",
"observe": false
},
{
"id": "05-07",
"componentId": "Basic_Rnd",
"targetNodeId": "t05_68",
"resultVariable": "case_7",
"input": "{}",
"expected": "随机小数满足 0 ≤ x < 1",
"observe": false
}
]
},
{
"id": "test_appsystem_06",
"file": "test_appsystem_06.json",
"name": "组件测试 06 · 系统路径与环境变量",
"manual": false,
"components": [
"System_GetTempPath",
"System_GetHomePath",
"System_GetSystemPath",
"System_GetEnv",
"System_SetEnv"
],
"cases": [
{
"id": "06-01",
"componentId": "System_GetTempPath",
"targetNodeId": "t06_8",
"resultVariable": "case_1",
"input": "{}",
"expected": "与系统临时目录一致(忽略尾部分隔符)",
"observe": false
},
{
"id": "06-02",
"componentId": "System_GetHomePath",
"targetNodeId": "t06_17",
"resultVariable": "case_2",
"input": "{}",
"expected": "与 Windows 用户文件夹一致",
"observe": false
},
{
"id": "06-03",
"componentId": "System_GetSystemPath",
"targetNodeId": "t06_26",
"resultVariable": "case_3",
"input": "{\"path_name\":\"desktop\"}",
"expected": "与 Windows 实际桌面目录一致(包含重定向)",
"observe": false
},
{
"id": "06-04",
"componentId": "System_GetEnv",
"targetNodeId": "t06_35",
"resultVariable": "case_4",
"input": "{\"name\":\"RPA_APP_SYSTEM_TEST_VALUE\"}",
"expected": "读取测试专用变量的原始值,作为恢复依据",
"observe": false
},
{
"id": "06-05",
"componentId": "System_SetEnv",
"targetNodeId": "t06_44",
"resultVariable": "case_5",
"input": "{\"name\":\"RPA_APP_SYSTEM_TEST_VALUE\",\"value\":\"中文-测试-42\"}",
"expected": "当前应用进程内设置成功",
"observe": false
},
{
"id": "06-06",
"componentId": "System_GetEnv",
"targetNodeId": "t06_53",
"resultVariable": "case_6",
"input": "{\"name\":\"RPA_APP_SYSTEM_TEST_VALUE\"}",
"expected": "能读回中文-测试-42",
"observe": false
},
{
"id": "06-07",
"componentId": "System_SetEnv",
"targetNodeId": "t06_62",
"resultVariable": "case_7",
"input": "{\"name\":\"RPA_APP_SYSTEM_TEST_VALUE\",\"value\":\"${originalEnv}\"}",
"expected": "恢复测试前读取值",
"observe": false
}
]
},
{
"id": "test_appsystem_07",
"file": "test_appsystem_07.json",
"name": "组件测试 07 · 命令行",
"manual": false,
"components": [
"System_ExecuteCommand",
"System_ExecuteCommandV1"
],
"cases": [
{
"id": "07-01",
"componentId": "System_ExecuteCommand",
"targetNodeId": "t07_6",
"resultVariable": "case_1",
"input": "{\"action\":\"Write-Output 'RPA-PS-中文-OK'\"}",
"expected": "RPA-PS-中文-OK",
"observe": false
},
{
"id": "07-02",
"componentId": "System_ExecuteCommandV1",
"targetNodeId": "t07_15",
"resultVariable": "case_2",
"input": "{\"command_type\":\"1\",\"dos_command\":\"echo RPA-DOS-OK\",\"get_ret\":\"1\"}",
"expected": "RPA-DOS-OK",
"observe": false
},
{
"id": "07-03",
"componentId": "System_ExecuteCommandV1",
"targetNodeId": "t07_24",
"resultVariable": "case_3",
"input": "{\"command_type\":\"3\",\"ps_command\":\"Write-Output 'RPA-PS-V1-OK'\",\"get_ret\":\"1\"}",
"expected": "RPA-PS-V1-OK",
"observe": false
},
{
"id": "07-04",
"componentId": "System_ExecuteCommandV1",
"targetNodeId": "t07_34",
"resultVariable": "case_4",
"input": "{\"command_type\":\"2\",\"bat_file\":\"${batPath}\",\"get_ret\":\"1\"}",
"expected": "RPA-BAT-OK",
"observe": false
},
{
"id": "07-05",
"componentId": "System_ExecuteCommand",
"targetNodeId": "t07_43",
"resultVariable": "case_5",
"input": "{\"action\":\"Write-Output 'RPA-ERROR-PROBE'; exit 9\"}",
"expected": "非零退出码应抛出异常",
"observe": false
}
]
},
{
"id": "test_appsystem_08",
"file": "test_appsystem_08.json",
"name": "组件测试 08 · Windows 凭据【手动】",
"manual": true,
"components": [
"System_AddCredential",
"System_ReadCredential",
"System_DeleteCredential"
],
"cases": [
{
"id": "08-01",
"componentId": "System_AddCredential",
"targetNodeId": "t08_10",
"resultVariable": "case_1",
"input": "{\"application\":\"${credentialTarget}\",\"name\":\"\",\"password\":\"\"}",
"expected": "安全输入机制准备好后,在专用目标添加测试凭据",
"observe": true
},
{
"id": "08-02",
"componentId": "System_ReadCredential",
"targetNodeId": "t08_21",
"resultVariable": "case_2",
"input": "{\"application\":\"${credentialTarget}\"}",
"expected": "仅验证测试凭据存在,不读取或打印密码",
"observe": true
},
{
"id": "08-03",
"componentId": "System_DeleteCredential",
"targetNodeId": "t08_32",
"resultVariable": "case_3",
"input": "{\"application\":\"${credentialTarget}\"}",
"expected": "删除刚创建的测试目标,之后人工确认不存在",
"observe": true
}
]
},
{
"id": "test_appsystem_09",
"file": "test_appsystem_09.json",
"name": "组件测试 09 · 输入法【手动】",
"manual": true,
"components": [
"System_GetInputMethodState",
"System_SetInputMethodState"
],
"cases": [
{
"id": "09-01",
"componentId": "System_GetInputMethodState",
"targetNodeId": "t09_9",
"resultVariable": "case_1",
"input": "{}",
"expected": "读取前台窗口的真实输入法状态,人工对照任务栏",
"observe": true
},
{
"id": "09-02",
"componentId": "System_SetInputMethodState",
"targetNodeId": "t09_20",
"resultVariable": "case_2",
"input": "{\"mode\":\"en-US\"}",
"expected": "前台编辑器应切换到英文模式;仅子进程返回 set:true 不能算通过",
"observe": true
},
{
"id": "09-03",
"componentId": "System_SetInputMethodState",
"targetNodeId": "t09_31",
"resultVariable": "case_3",
"input": "{\"mode\":\"${originalIme.culture}\"}",
"expected": "恢复原输入法;人工确认前台窗口的实际状态",
"observe": true
}
]
},
{
"id": "test_appsystem_10",
"file": "test_appsystem_10.json",
"name": "组件测试 10 · 音频【手动】",
"manual": true,
"components": [
"System_PlaySound"
],
"cases": [
{
"id": "10-01",
"componentId": "System_PlaySound",
"targetNodeId": "t10_10",
"resultVariable": "case_1",
"input": "{\"audio\":\"${audioPath}\"}",
"expected": "听到一次短提示音;没有声音不能算通过",
"observe": true
}
]
},
{
"id": "test_appsystem_11",
"file": "test_appsystem_11.json",
"name": "组件测试 11 · 屏保【手动】",
"manual": true,
"components": [
"System_ScreenSaverShow",
"System_ScreenSaverShowV1",
"System_ScreenSaverStop"
],
"cases": [
{
"id": "11-01",
"componentId": "System_ScreenSaverShow",
"targetNodeId": "t11_9",
"resultVariable": "case_1",
"input": "{\"text\":\"RPA 测试\",\"status\":\"1\"}",
"expected": "屏幕实际进入屏保;无配置时记录阻塞",
"observe": true
},
{
"id": "11-02",
"componentId": "System_ScreenSaverStop",
"targetNodeId": "t11_20",
"resultVariable": "case_2",
"input": "{}",
"expected": "屏保实际关闭,可正常操作",
"observe": true
},
{
"id": "11-03",
"componentId": "System_ScreenSaverShowV1",
"targetNodeId": "t11_31",
"resultVariable": "case_3",
"input": "{}",
"expected": "开启 Windows 已配置的屏保,不要求输入密码;人工确认屏幕实际变化",
"observe": true
},
{
"id": "11-04",
"componentId": "System_ScreenSaverStop",
"targetNodeId": "t11_42",
"resultVariable": "case_4",
"input": "{}",
"expected": "第二种屏保实际关闭",
"observe": true
}
]
},
{
"id": "test_appsystem_12",
"file": "test_appsystem_12.json",
"name": "组件测试 12 · 锁屏与解锁【手动】",
"manual": true,
"components": [
"ScreenControl_Screenlock",
"ScreenControl_ScreenUnlock"
],
"cases": [
{
"id": "12-01",
"componentId": "ScreenControl_Screenlock",
"targetNodeId": "t12_9",
"resultVariable": "case_1",
"input": "{\"username\":\"\",\"pwd\":\"\",\"width\":\"\",\"height\":\"\",\"scale_factor\":\"100\"}",
"expected": "实际锁屏;需要人在机器旁用 Windows 登录凭据恢复,不改变账户密码",
"observe": true
},
{
"id": "12-02",
"componentId": "ScreenControl_ScreenUnlock",
"targetNodeId": "t12_20",
"resultVariable": "case_2",
"input": "{}",
"expected": "仅尝试唤醒屏幕,loginUnlockSupported 必须为 false;Windows 登录仍需人工完成",
"observe": true
}
]
},
{
"id": "test_appsystem_13",
"file": "test_appsystem_13.json",
"name": "组件测试 13 · 远程桌面【手动】",
"manual": true,
"components": [
"System_ConnectRemoteDesktop",
"System_CloseRemoteDesktop"
],
"cases": [
{
"id": "13-01",
"componentId": "System_ConnectRemoteDesktop",
"targetNodeId": "t13_11",
"resultVariable": "case_1",
"input": "{\"ip\":\"${remoteAddress}\",\"port\":\"3389\"}",
"expected": "人工完成登录,并确认已连接到正确测试机器;启动 mstsc 不等于连接成功",
"observe": true
},
{
"id": "13-02",
"componentId": "System_CloseRemoteDesktop",
"targetNodeId": "t13_22",
"resultVariable": "case_2",
"input": "{}",
"expected": "确认目标会话及恢复方式后才能执行;当前实现会调用 tsdiscon",
"observe": true
}
]
}
]
}