loadrunner脚本修改

在LoadRunner测试中,为实现并发用户登录时使用不同用户名和密码,需修改录制的脚本。现有脚本使用固定用户名和密码,但要求从XML文件中随机读取。针对这一需求,需在vuser_init.c文件中加入代码,从XML文件获取数据,确保每个虚拟用户具有唯一的LoginMail和LoginPass。目前的挑战是如何在Action中动态读取XML文件并实现参数化,以防止同一用户被踢出系统。
loadruner脚本编写需求:
现有已录制好的用户登录及退出脚本,要求测试脚本测试时,用户名及密


码从外部的XML中随机获取,并与并发用户数量尽量保持一致,测试脚本该如何写
各位,利用loadrunner进行系统测试,具体过程如下,录制了脚本,生成了三个.c文件:


vuser_init.c,Action.c,vuser_end.c,在vuser_init.c文件中,有如下脚本代码:


web_submit_data("IndexLogin.ashx", 
"Action=http://ceshi.xxx.com/IndexLogin.ashx", 
"Method=POST", 
"RecContentType=text/plain", 
"Referer=http://ceshi.xxx.com/", 
"Snapshot=t4.inf", 
"Mode=HTML", 
"EncodeAtSign=YES", 
ITEMDATA, 
"Name=Action", "Value=Login", ENDITEM, 
"Name=LoginMail", "Value=xxx@xxx.com", ENDITEM,  //用户名
"Name=LoginPass", "Value=111111", ENDITE      //密码
"Name=Checked", "Value=1", ENDITEM, 
LAST);
然后在测试的时候模拟大量虚拟用户进行登录,这些虚拟用户都是同一个用户名和密码登录进系统


的(上面的用户名和密码),但是系统是这样,如果以相同用户名称登录进系统的,会将前一个用


户踢掉,最后只留一个一个用户(类似于QQ在别处上线以后,原来上线的地方自动下线,提升用户


在另一个地方已经登录),如何修改上面这段脚本,虚拟出五百个不同名称的用户进行登录,用户名


从一个txt文件或者xml文件进行读取,请问如何实现啊?
LoadRunner 中,修改脚本是性能测试过程中常见的操作,通常用于调整测试逻辑、参数化数据、增强脚本功能等。以下为修改 LoadRunner 脚本的主要方法和步骤: ### 1. 使用 VuGen 编辑器进行脚本修改 LoadRunner 的 Virtual User Generator(VuGen)提供了可视化的脚本编辑环境,支持对脚本进行添加事务、插入检查点、参数化变量等操作。测试人员可以通过以下方式修改脚本: - **添加事务(Transaction)**:用于衡量某个操作的响应时间,可在脚本中插入开始事务和结束事务标记。 - **插入检查点(Checkpoint)**:用于验证服务器返回内容是否符合预期,确保应用程序在负载下仍能正确响应。 - **参数化(Parameterization)**:将固定值替换为参数,使每次迭代使用不同的数据,提升测试的真实性[^1]。 ### 2. 调试脚本辅助修改 LoadRunner 提供了内置的调试工具,帮助测试人员在修改脚本时定位问题: - 设置断点以暂停脚本执行 - 单步执行脚本代码,观察每一步的执行结果 - 查看变量值和日志输出,辅助排查逻辑错误或异常行为[^1] ### 3. 添加或切换脚本 在场景设计中,可通过点击脚本名称完成脚本切换,点击脚本路径完成新增脚本的添加。双击脚本的 LoadGenerator 单元格可打开组信息界面,测试人员可在此添加新的 LoadGenerator 以支持分布式测试[^3]。 ### 4. 参数化与关联(Correlation) 在修改脚本时,常需处理动态值问题,例如 Session ID、Token 等。此时需要进行关联操作,将动态值从服务器响应中提取并保存为参数,供后续请求使用。这可通过 VuGen 的自动关联或手动编写 web_reg_save_param 函数实现。 ### 示例:手动关联代码片段(Web HTTP/HTML 协议) ```c // 提取动态值 web_reg_save_param("SessionID", "LB=name=\"session_id\" value=\"", "RB=\"", "Search=Body", LAST); // 使用提取的值 web_submit_data("login", "Action=http://example.com/login", "Method=POST", ITEMDATA, "Name=session_id", "Value={SessionID}", ENDITEM, "Name=username", "Value={Username}", ENDITEM, "Name=password", "Value={Password}", ENDITEM, LAST); ``` ### 5. 脚本增强与事务控制 在修改脚本过程中,可加入思考时间(Think Time)、集合点(Rendezvous Point)等元素,以更真实地模拟用户行为。此外,还可通过逻辑控制语句(如 if-else、循环)实现条件执行路径。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值