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

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

13 KiB
Raw Permalink Blame History

应用与系统组件测试报告

记录时间:2026年10月30日 16:52:04(北京时间)。覆盖 49 项可执行组件,13 组任务。

按组件统计:通过 29,失败 4,阻塞 11,待人工确认 5,未运行 0。

状态依据是断言、前置校验和人工证据,节点执行成功不直接代表功能通过。未执行手动系统操作。

组 组件 ID 名称 状态
01 App_Run 启动应用程序 通过
01 App_GetPid 获取一个匹配PID 失败
01 App_GetPids 获取全部匹配PID 失败
01 App_Kill 关闭应用程序 通过
01 App_KillV1 关闭应用程序 通过
02 Basic_StringToNum 将文本转换为数字 通过
02 Basic_ConvertNumber 数据转为数值类型 通过
02 Basic_ConvertInt 数值转为整数类型 通过
02 Basic_ConvertBool 数据转为布尔类型 通过
02 Basic_ConvertString 将数字转换为文本 通过
02 Basic_DataTypeConversion 转换数据类型 阻塞
03 Basic_IsDictionary 判断数据是否为字典 通过
03 Basic_IsNumber 判断数据是否为数值 通过
03 Basic_IsNull 判断数据是否为空 通过
03 Basic_IsArray 判断数据是否为数组 通过
03 Basic_Type 获取数据类型 通过
03 Basic_JudgeDataType 判断数据类型 失败
04 Basic_SetVariable 设置变量 通过
04 Basic_SetVariable_V1 设置变量 通过
04 Basic_Clone 复制数据 通过
04 Basic_GetProcessInfo 获取流程信息 通过
04 Basic_DebugOutput 调试输出 通过
04 CustomConfig_GetConfig 自定义配置 通过
04 Basic_BusinessOrderCount 业务办理计数 通过
05 Basic_Delay_V2 等待 通过
05 Basic_Delay_V1 等待 通过
05 Basic_Delay 流程延迟执行 失败
05 Basic_RandomInt 生成随机数 通过
05 Basic_Rnd 生成随机数 通过
06 System_GetTempPath 获取临时文件夹路径 通过
06 System_GetHomePath 获取用户文件夹路径 通过
06 System_GetSystemPath 获取系统文件夹路径 通过
06 System_GetEnv 获取环境变量 通过
06 System_SetEnv 设置环境变量 通过
07 System_ExecuteCommand 执行命令行 阻塞
07 System_ExecuteCommandV1 执行命令行 阻塞
08 System_AddCredential 添加Windows凭据 阻塞
08 System_ReadCredential 获取Windows凭据 阻塞
08 System_DeleteCredential 删除Windows凭据 阻塞
09 System_GetInputMethodState 获取输入法状态 待人工确认
09 System_SetInputMethodState 设置输入法状态 待人工确认
10 System_PlaySound 播放音频 待人工确认
11 System_ScreenSaverShow 开启屏保 阻塞
11 System_ScreenSaverShowV1 开启屏保 阻塞
11 System_ScreenSaverStop 关闭屏保 阻塞
12 ScreenControl_Screenlock 屏幕锁屏 阻塞
12 ScreenControl_ScreenUnlock 屏幕解锁 阻塞
13 System_ConnectRemoteDesktop 连接远程桌面 待人工确认
13 System_CloseRemoteDesktop 关闭远程连接 待人工确认

用例证据

用例 组件 状态 预期 实际/原因
01-01 App_Run 通过 第一个测试进程 PID 大于 0 37796
01-02 App_Run 通过 第二个 PID 大于 0,且与第一个不同 48484
01-03 App_GetPid 通过 返回本次创建的任一 PID 37796
01-04 App_GetPids 通过 列表恰含本次创建的两个 PID [37796,48484]
01-05 App_Kill 通过 结束第一个夹具 PID,第二个仍在运行 [37796,false,true]
01-06 App_KillV1 通过 结束第二个夹具 PID [48484,false]
01-07 App_GetPids 失败 所有夹具结束后应返回空数组 [] [0]
01-08 App_GetPid 失败 无匹配时应返回 null 0
02-01 Basic_StringToNum 通过 数字 123.5 123.5
02-02 Basic_ConvertNumber 通过 数字 -42.25 -42.25
02-03 Basic_ConvertInt 通过 整数 -3(向零截断) -3
02-04 Basic_ConvertBool 通过 布尔 true true
02-05 Basic_ConvertBool 通过 布尔 false false
02-06 Basic_ConvertString 通过 文本 "42" "42"
02-07 Basic_DataTypeConversion 阻塞 按目标类型转换;先确认目录中目标类型编号映射 "42";目录没有目标类型选项映射,不能猜测编号;当前实现也未读取 into_type。
03-01 Basic_IsDictionary 通过 true true
03-02 Basic_IsDictionary 通过 false false
03-03 Basic_IsNumber 通过 true true
03-04 Basic_IsNumber 通过 false false
03-05 Basic_IsNull 通过 true true
03-06 Basic_IsNull 通过 true true
03-07 Basic_IsNull 通过 false false
03-08 Basic_IsArray 通过 true true
03-09 Basic_IsArray 通过 false false
03-10 Basic_Type 通过 "list" "list"
03-11 Basic_Type 通过 "null" "null"
03-12 Basic_JudgeDataType 失败 返回布尔判定结果(true 或 false),不是类型名称 "number"
04-01 Basic_SetVariable 通过 原值及输出变量均保持中文文本 "中文变量往返"
04-02 Basic_SetVariable_V1 通过 数字 42 42
04-03 Basic_SetVariable_V1 通过 数组 [1,2] [1,2]
04-04 Basic_Clone 通过 深复制内容相同,外层和嵌套对象均不共用引用 {"title":"中文","nested":{"n":1}}
04-05 Basic_GetProcessInfo 通过 当前流程 ID、名称、运行 ID 和节点数一致 {"id":"test_appsystem_04","name":"组件测试 04 · 变量与配置","description":"查看运行日志中的用例结果;有失败时任务最终显示失败,其他用例仍继续。","enabled":true,"trigger":{"type":"manual","label":"手动运行"},"version":"0.1.0","createdAt":"2026-10-30T00:00:00.000Z","updatedAt":"2026-10-30T00:00:00.000Z","nodeCount":99,"runId":"run_mvuqh8oe_gmpo"}
04-06 Basic_DebugOutput 通过 日志及返回值为“中文日志测试:42” "中文日志测试:42"
04-07 CustomConfig_GetConfig 通过 数字 30 30
04-08 CustomConfig_GetConfig 通过 未命中返回 null null
04-09 Basic_BusinessOrderCount 通过 首次计数 12 12
04-10 Basic_BusinessOrderCount 通过 同一流程再次计数 14 14
05-01 Basic_Delay_V2 通过 实际等待耗时 120~1800 ms 161
05-02 Basic_Delay_V2 通过 实际等待耗时 80~1800 ms 186
05-03 Basic_Delay_V1 通过 实际等待耗时 120~1800 ms 156
05-04 Basic_Delay 失败 实际等待耗时 2800~6500 ms 1013
05-05 Basic_RandomInt 通过 最小值等于最大值时返回整数 7 7
05-06 Basic_RandomInt 通过 返回 -2~2 的整数 -2
05-07 Basic_Rnd 通过 随机小数满足 0 ≤ x < 1 0.6374054093586852
06-01 System_GetTempPath 通过 与系统临时目录一致(忽略尾部分隔符) "C:\Users\Administrator\AppData\Local\Temp"
06-02 System_GetHomePath 通过 与 Windows 用户文件夹一致 "C:\Users\Administrator"
06-03 System_GetSystemPath 通过 与 Windows 实际桌面目录一致(包含重定向) "C:\Users\Administrator\Desktop"
06-04 System_GetEnv 通过 读取测试专用变量的原始值,作为恢复依据 "隔离环境原始值"
06-05 System_SetEnv 通过 当前应用进程内设置成功 "中文-测试-42"
06-06 System_GetEnv 通过 能读回中文-测试-42 "中文-测试-42"
06-07 System_SetEnv 通过 恢复测试前读取值 "隔离环境原始值"
07-01 System_ExecuteCommand 阻塞 RPA-PS-中文-OK 运行前参数校验拦截,未绕过校验;详见校验问题
07-02 System_ExecuteCommandV1 阻塞 RPA-DOS-OK 运行前参数校验拦截,未绕过校验;详见校验问题
07-03 System_ExecuteCommandV1 阻塞 RPA-PS-V1-OK 运行前参数校验拦截,未绕过校验;详见校验问题
07-04 System_ExecuteCommandV1 阻塞 RPA-BAT-OK 运行前参数校验拦截,未绕过校验;详见校验问题
07-05 System_ExecuteCommand 阻塞 非零退出码应抛出异常 运行前参数校验拦截,未绕过校验;详见校验问题
08-01 System_AddCredential 阻塞 安全输入机制准备好后,在专用目标添加测试凭据 运行前参数校验拦截,未绕过校验;详见校验问题
08-02 System_ReadCredential 阻塞 仅验证测试凭据存在,不读取或打印密码 运行前参数校验拦截,未绕过校验;详见校验问题
08-03 System_DeleteCredential 阻塞 删除刚创建的测试目标,之后人工确认不存在 运行前参数校验拦截,未绕过校验;详见校验问题
09-01 System_GetInputMethodState 待人工确认 读取前台窗口的真实输入法状态,人工对照任务栏 手动任务不纳入自动执行
09-02 System_SetInputMethodState 待人工确认 前台编辑器应切换到英文模式;仅子进程返回 set:true 不能算通过 手动任务不纳入自动执行
09-03 System_SetInputMethodState 待人工确认 恢复原输入法;人工确认前台窗口的实际状态 手动任务不纳入自动执行
10-01 System_PlaySound 待人工确认 听到一次短提示音;没有声音不能算通过 手动任务不纳入自动执行
11-01 System_ScreenSaverShow 阻塞 屏幕实际进入屏保;无配置时记录阻塞 运行前参数校验拦截,未绕过校验;详见校验问题
11-02 System_ScreenSaverStop 阻塞 屏保实际关闭,可正常操作 运行前参数校验拦截,未绕过校验;详见校验问题
11-03 System_ScreenSaverShowV1 阻塞 未启用密码保护时无需密码也应能运行 运行前参数校验拦截,未绕过校验;详见校验问题
11-04 System_ScreenSaverStop 阻塞 第二种屏保实际关闭 运行前参数校验拦截,未绕过校验;详见校验问题
12-01 ScreenControl_Screenlock 阻塞 实际锁屏;需要人在机器旁用 Windows 登录凭据恢复,不改变账户密码 运行前参数校验拦截,未绕过校验;详见校验问题
12-02 ScreenControl_ScreenUnlock 阻塞 核对 Windows 登录解锁;当前实现仅尝试唤醒屏幕,不能标记自动解锁通过 运行前参数校验拦截,未绕过校验;详见校验问题
13-01 System_ConnectRemoteDesktop 待人工确认 人工完成登录,并确认已连接到正确测试机器;启动 mstsc 不等于连接成功 手动任务不纳入自动执行
13-02 System_CloseRemoteDesktop 待人工确认 确认目标会话及恢复方式后才能执行;当前实现会调用 tsdiscon 手动任务不纳入自动执行

运行前校验阻塞

  • test_appsystem_07:「System_ExecuteCommandV1」缺少必填参数:BAT文件;「System_ExecuteCommandV1」缺少必填参数:PowerShell命令;「System_ExecuteCommandV1」缺少必填参数:DOS命令;「System_ExecuteCommandV1」缺少必填参数:BAT文件;「System_ExecuteCommandV1」缺少必填参数:DOS命令;「System_ExecuteCommandV1」缺少必填参数:PowerShell命令
  • test_appsystem_08:「System_AddCredential」缺少必填参数:用户名
  • test_appsystem_11:「System_ScreenSaverShowV1」缺少必填参数:password
  • test_appsystem_12:「ScreenControl_Screenlock」缺少必填参数:用户名;「ScreenControl_Screenlock」缺少必填参数:密码;「ScreenControl_Screenlock」缺少必填参数:分辨率(宽);「ScreenControl_Screenlock」缺少必填参数:分辨率(高);「ScreenControl_ScreenUnlock」缺少必填参数:用户名;「ScreenControl_ScreenUnlock」缺少必填参数:密码

证据位置

隔离用户目录:D:\work\code\RPA-only-demo\test-output\app-system\isolated-I8utNv

  • test_appsystem_01:D:\work\code\RPA-only-demo\test-output\app-system\isolated-I8utNv\runs\run_mvuqh1m8_mpns\run.json
  • test_appsystem_02:D:\work\code\RPA-only-demo\test-output\app-system\isolated-I8utNv\runs\run_mvuqh8fe_enbw\run.json
  • test_appsystem_03:D:\work\code\RPA-only-demo\test-output\app-system\isolated-I8utNv\runs\run_mvuqh8lw_3nsu\run.json
  • test_appsystem_04:D:\work\code\RPA-only-demo\test-output\app-system\isolated-I8utNv\runs\run_mvuqh8oe_gmpo\run.json
  • test_appsystem_05:D:\work\code\RPA-only-demo\test-output\app-system\isolated-I8utNv\runs\run_mvuqh8sp_54xy\run.json
  • test_appsystem_06:D:\work\code\RPA-only-demo\test-output\app-system\isolated-I8utNv\runs\run_mvuqha0h_4bfu\run.json