You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PeopleSoft测试:如何触发CreateProcessRequest返回错误以完成测试

如何触发CreateProcessRequest返回非零退出码以完成组件测试?

我之前做过类似的PeopleSoft组件测试,分享几个靠谱的实操方法,帮你触发CreateProcessRequest返回非零退出码,完成这个测试场景的验证:

  • 修改目标SQR程序,强制返回非零退出码
    最直接的方式就是在你调用的Test.sqr里添加一行退出指令,让它执行后立刻返回非零值。比如在SQR的开头或者某个测试分支里加:

    ! 强制返回退出码1,触发错误逻辑
    stop 1;
    

    当CreateProcessRequest调用这个SQR时,程序会直接终止并返回1,刚好触发你代码里的错误处理分支。

  • 传入无效的运行控制参数
    故意构造无效的运行控制信息,让SQR无法正常执行。比如使用一个不存在的RunControlID:

    ! 替换成一个系统中不存在的RunControlID
    &RunCntlID = "INVALID_TEST_RUNCNTL";
    &RQST = CreateProcessRequest("SQR Process", &MI_SQRProcess);
    &RQST.RunControlID = &RunCntlID;
    &RQST.Schedule();
    

    当SQR尝试读取这个不存在的运行控制记录时,会抛出错误并返回非零退出码。

  • 使用无权限的用户执行
    把&RUN_OPRID设置成一个没有权限运行Test.sqr的用户账号。这样系统在调度SQR进程时,会因为权限不足拒绝执行,返回非零状态码。

  • 指定不存在的SQR程序名称
    故意写错SQR程序的名字,让系统找不到要执行的目标程序:

    ! 改成一个不存在的SQR名称
    &MI_SQRProcess = "Test_Invalid_Program";
    &RQST = CreateProcessRequest("SQR Process", &MI_SQRProcess);
    

    这种情况下,CreateProcessRequest会因为找不到指定的SQR程序,直接返回错误状态。

内容的提问来源于stack exchange,提问作者jackono

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:26:56