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

基于SAP SRM(Fiori前端)的LoadRunner多步骤测试求助

SAP SRM Fiori LoadRunner测试问题解决方案

一、Excel文档修改脚本实现

针对SAP-Web协议无法直接操作本地文件的问题,可通过LoadRunner嵌入VBScript调用Excel对象模型完成修改:

  1. 确保测试机已安装Microsoft Office,具备Excel组件支持
  2. 在下载Excel并保存到本地后,插入以下VBScript片段修改指定数据:
Dim objExcel, objWorkbook
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False ' 后台运行,不显示Excel窗口
Set objWorkbook = objExcel.Workbooks.Open("C:\test\invoice_template.xlsx")

' 修改目标单元格,示例为Sheet1的B3单元格
objWorkbook.Sheets("Sheet1").Range("B3").Value = "更新后的发票金额"

objWorkbook.Save ' 保存修改
objWorkbook.Close
objExcel.Quit
Set objWorkbook = Nothing
Set objExcel = Nothing
  1. 若测试机无法安装Office,可改用OpenXML SDK编写VBScript操作Excel(需提前部署SDK组件)

二、多步骤耗时统计方案

除LoadRunner原生事务外,提供两种精准计时方式:

1. 自定义事务包裹关键步骤

用lr_start_transaction和lr_end_transaction直接标记需要测量的阶段:

// 测量Excel上传+保存耗时
lr_start_transaction("Excel_Upload_And_Save");
// 此处插入上传Excel及触发保存的请求代码
web_submit_data("Upload_Excel",
    "Action=https://your-srm-url/upload",
    "Method=POST",
    "EncType=multipart/form-data",
    ITEMDATA,
    "Name=file", "Value=C:\test\invoice_template.xlsx", "File=Yes", ENDITEM,
    LAST);
lr_end_transaction("Excel_Upload_And_Save", LR_AUTO);

2. 时间戳差值计算

通过lr_get_current_time获取毫秒级时间戳,手动计算步骤耗时:

long start_time, end_time;

// 测量异步值计算流程耗时
start_time = lr_get_current_time();
// 触发异步计算的请求
web_custom_request("Trigger_Async_Calc",
    "URL=https://your-srm-url/async-calc",
    "Method=POST",
    LAST);
// 循环等待Fiori通知出现
web_reg_find("Text=异步计算已完成", "SaveCount=calc_complete", LAST);
do {
    web_custom_request("Check_Notification",
        "URL=https://your-srm-url/notification-poll",
        "Method=GET",
        LAST);
    lr_think_time(1); // 每1秒轮询一次
} while (atoi(lr_eval_string("{calc_complete}")) == 0);
end_time = lr_get_current_time();
lr_output_message("异步值计算耗时:%d 毫秒", end_time - start_time);

三、Ajax TruClient协议失败的替代处理

若TruClient录制SPA架构的Fiori页面失败,可通过以下方式优化SAP-Web协议脚本:

  • 录制前开启LoadRunner的「录制所有Ajax请求」选项(录制设置→高级→勾选)
  • 通过浏览器F12抓包,补充Fiori页面的OData异步请求,用web_custom_request手动添加到脚本中
  • 针对Fiori通知组件,抓包找到其轮询接口,在脚本中循环调用直到返回完成状态,替代屏幕元素判断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:30:42