LoadRunner中文网站 > 热门推荐 > LoadRunner脚本用什么录制 LoadRunner脚本录制事务数怎么一直是0
教程中心分类
LoadRunner脚本用什么录制 LoadRunner脚本录制事务数怎么一直是0
发布时间:2025/07/21 17:16:53

  LoadRunner脚本用什么录制,LoadRunner脚本录制事务数怎么一直是0这个问题,很多测试人员在使用LoadRunner进行压测时都或多或少遇到过。尤其是在项目初期搭建脚本时,录制协议选不对、事务标记遗漏、脚本结构不规范这些常见问题,很容易让事务始终为0,严重影响测试数据的有效性。本文将结合常见实际问题,从录制选择、事务配置、脚本调试等方面做一个深入梳理,帮助你一步步理顺LoadRunner录制流程。

 

  一、LoadRunner脚本用什么录制

 

  在使用LoadRunner进行性能测试前,最基础的步骤就是录制脚本。看似只是点几下按钮,实际上这一步决定了后续脚本是否可用。若录制方式不合适,后续不管怎么调试都无法跑通。

 

  1、启动VuGen并选择合适协议

 

  打开LoadRunner之后,首先进入的是VuGen,也就是脚本录制与调试的模块。点击“File>New Script and Solution”,接着会弹出一个选择协议的窗口。

 

  这个地方千万别随意选。最常见的HTTP类Web系统,应该选择“Web-HTTP/HTML”;如果你面对的是前端交互特别复杂的系统,比如用Vue、React写的页面,或者频繁用到异步加载,就建议使用“TruClient-Web”协议,这种协议能更真实地还原浏览器行为。

 

  如果是要测试API,那就选择“Web Services”或者“HTTP协议”,录出来的脚本会更精简。

 

  2、录制设置该怎么配?

 

  协议选好后,不要急着开始录制,先点开“Recording Options”,进行一些关键设置:

 

  Port Mapping:设置为“WinInet level data”,可以确保浏览器的所有网络请求都能被捕捉到;

 

  Filtering:建议启用过滤,把CSS、JS、PNG等无关资源过滤掉,避免脚本太冗长;

 

  Script Type:保持默认HTML-based脚本,一般用于大多数测试场景足够用了。

 

  3、浏览器怎么选?代理要不要设置?

 

  默认情况下,VuGen会使用IE浏览器来进行录制。如果你用的是Chrome或者Edge,那建议手动设置系统代理,或者使用Fiddler辅助抓包,确保所有HTTP流量都能被LoadRunner截取到。

 

  4、录制过程中事务怎么插入?

 

  事务统计是性能测试的重点,必须在关键业务环节插入事务标记。在录制过程中,当你点击登录按钮、提交订单或执行某个功能操作时,记得点击“Start Transaction”,操作完再点“End Transaction”,事务名要保持一致。

 

  如果忘了插,后续可以在脚本中手动加代码:

 

  注意,事务名不要写错,大小写也要一致。

 

  5、录制结束后不要忘记保存和检查结构

 

  录制完成后点“Stop”,LoadRunner会自动生成脚本,并保存所有网络请求操作。记得检查代码是否都集中在Action段中,Init和End段不是默认执行的,放事务在这两个段落是没用的。

  二、LoadRunner脚本录制事务数怎么一直是0

 

  事务录好了,脚本也跑起来了,结果一看报告:事务数是0。这种情况并不少见,一般从以下几个方面排查。

 

  1、脚本里根本没有事务代码

 

  最常见的问题就是忘记插入事务了。无论是自动录制还是手动补充代码,只要少了`lr_start_transaction`和`lr_end_transaction`,那Controller跑起来就不会记录任何事务时间。

 

  建议在VuGen里搜索“lr_start_transaction”,确认是否存在。如果没有,就要补上。

 

  2、事务写在了不被执行的段落里

 

  LoadRunner的脚本结构分三个部分:Init、Action、End。只有Action段在场景运行时会被Controller真正执行。

 

  如果你的事务代码写在Init或End里面,即便写得再对,Controller也不会跑这些段,事务数自然为0。

 

  3、Controller设置被忽略了

 

  打开Controller,点击“Run-time Settings”,进入“General>Additional Attributes”,看看是否启用了“Collect Transaction Response Time”选项。如果这里没勾上,系统压根不会收集事务数据。

 

  4、事务名字写错或结构嵌套错误

 

  事务标记开始与结束要配对,名字要一致。像下面这样写就出错了:

 

  或者嵌套结构搞乱,比如在A事务里又嵌了B事务,但先结束了A事务而B还没结束,这种写法也会导致问题。

 

  5、脚本内容为空或者请求失败

 

  还有一种情况,是脚本虽然录制了,但实际根本没抓到有效的网络请求。这常出现在没设置好代理,或者浏览器不兼容时。你打开脚本一看,只有一些header信息、没什么POST或GET请求,那这个脚本就等于没录成功。

 

  建议检查一下请求是否都能回放成功,看Replay日志有没有报错,如果有,就回头检查是否协议没选对或者环境没设置好。

  三、LoadRunner参数提取和动态值关联的使用建议

 

  搞定了录制和事务,想要脚本能跑更多用户,还得处理好参数和关联问题。不然一跑多个用户就报错。

 

  1、参数化操作怎么做?

 

  脚本中那些硬编码的账号、密码、搜索关键字等,一定要参数化处理。做法很简单:

 

  选中目标字段→右键“Replace with Parameter”→新建参数

 

  打开“Parameter List”,设置数据类型为“File”

 

  准备一个CSV文件,放上几组测试数据,每行一个,导入进去

 

  跑脚本时,系统就会自动帮你替换,不同用户用不同值,避免请求冲突。

 

  2、动态值如何抓?比如sessionid/token

 

  很多系统在登录成功后会返回一个动态的token或sessionid,用来维持用户状态。如果你脚本写死了,下一次就可能登录失败或操作失败。

 

  这就需要用“关联”来提取动态值。方法如下:

 

  找到目标请求的响应内容

 

  查看它在哪一段HTML或JSON里返回

 

  用`web_reg_save_param`函数提前声明

 

  设置好左右边界和顺序号

 

  举个例子:

 

  再在后续的请求中用`{session_id}`替代即可。

 

  3、如何验证抓的值是否成功?

 

  可以打开VuGen的Run-time Settings,开启“Extended Log”和“Parameter Substitution”,跑一遍脚本,看看控制台打印出来的参数值是否正确。如果是空的,就说明边界没设好或者参数压根没返回。

 

  调试时可以逐个注释请求、逐步确认参数提取是否成功,这样能更快定位问题。

  总结

 

  很多人在使用LoadRunner录制脚本时,只关注脚本能不能录出来,却忽视了脚本结构、事务标记和动态值这些细节。LoadRunner脚本用什么录制,LoadRunner脚本录制事务数怎么一直是0这个问题,其实本质上是对工具理解不够深入引起的。只有真正理清楚录制流程、事务插入规则、参数配置和关联技巧,才能让脚本具备稳定性和可扩展性。如果你脚本总是事务为0,不妨照着本文的几个步骤检查一遍,也许问题就迎刃而解了。

读者也访问过这里:
135 2431 0251