LoadRunner脚本开发:如何排除LR_Fail状态的事务以避免执行文件写入操作
解决LoadRunner事务成功才写入文件的问题
你遇到的问题很常见——当前脚本没有对事务的最终状态做判断,所以不管事务是成功还是失败,都会执行文件写入操作。LoadRunner提供了专门的API来获取事务状态,我们可以用它来实现"仅成功时写入"的逻辑。
具体实现方案
- 保留你原有的事务结束代码;
- 调用
lr_get_transaction_status()获取该事务的最终状态; - 通过条件判断,仅当状态为
LR_PASS时,才执行文件写入的相关代码。
修改后的脚本示例
// 结束事务(你的原有代码) lr_end_transaction("Util_02_MemberReg_04_Step2", LR_AUTO); // 获取事务状态并执行条件判断 if(lr_get_transaction_status("Util_02_MemberReg_04_Step2") == LR_PASS) { lr_output_message("Writing to file = %s", filename); // 这里放入你的文件写入具体逻辑(比如fopen、fwrite、fclose等C语言文件操作) } else { // 可选:事务失败时的日志提示 lr_output_message("Transaction Util_02_MemberReg_04_Step2 failed, skip writing to file."); }
关键细节提醒
lr_get_transaction_status()必须传入和事务结束时完全一致的事务名称,否则无法正确获取状态;- 务必把所有文件写入相关的代码都放在
if块内部,这样事务失败时才会完全跳过这部分操作; - 如果后续需要对多个事务做类似判断,只需要重复这个逻辑,每个事务对应独立的状态检查即可。
这样修改后,就只有当事务执行成功时才会触发文件写入,失败时会自动跳过该操作。
内容的提问来源于stack exchange,提问作者Sarai Fuoss
相关产品推荐
相关产品推荐

