第三方软件登记测评机构:【LoadRunner脚本录制与调试】
LoadRunner脚本录制是通过代理捕获客户端(如浏览器)与服务器之间的网络通信,并将其转化为可重放的 C/Java/Javascript 语言脚本。
步骤如下:
1.选择协议
这是最关键的一步!错误的协议选择会导致录制不到任何内容或脚本无法回放。
Web 应用: 首选 Web - HTTP/HTML 协议。对于现代富媒体应用,可考虑添加 AJAX - TrueClient 或 WebSocket 协议。
数据库: 选择 MS SQL Server、Oracle 等。
邮件: 选择 IMAP、POP3、SMTP。
通用 TCP/IP: 选择 Socket 协议。
不确定时: 可使用 Wizard - Port Mapping 进行自动协议检测。
2.配置录制选项
Application type: 选择 Internet Applications(用于浏览器)或 Win32 Applications(用于桌面客户端)。
Program to record: 指定要启动的浏览器可执行文件路径(如 chrome.exe)。
URL Address: 输入要测试的 Web 应用起始网址。
Working directory: 浏览器的工作目录。
3.开始录制
点击 Record 按钮,VuGen 会自动打开指定的浏览器。
VuGen 会显示录制工具栏,显示录制状态(录制中、暂停、停止)。
在浏览器中模拟真实用户的操作(登录、搜索、下单等)。
4.停止录制并生成脚本
完成业务操作后,点击 Stop 按钮。
VuGen 会自动生成脚本,并显示在编辑窗口中。
生成的脚本结构解析(以 HTTP/HTML 协议为例)
// 1. vuser_init: 初始化部分(可选)
// 通常放置登录操作,仅迭代一次。
vuser_init()
{web_url("login.php", ...);web_submit_data("auth.php", ...);return 0;
}// 2. Action: 核心业务部分(必选)
// 放置需要重复测试的业务操作,如查询、交易。
Action()
{web_url("home.php", ...);web_submit_data("search.php", ...);return 0;
}// 3. vuser_end: 结束部分(可选)
// 通常放置注销操作,仅迭代一次。
vuser_end()
{web_url("logout.php", ...);return 0;
}
脚本调试与增强
刚录制的脚本通常是脆弱的,无法直接用于压力测试,必须进行调试和增强。
1. 回放验证
检查录制的脚本是否能正确回放。
操作: 点击 Run 按钮。在 Replay Log 中查看回放结果。
所有步骤状态为 Success,并且没有意外的 HTTP 错误(如 404, 500)。
2. 关联- 最主要的调试步骤
服务器返回的动态值(如 SessionID、Token、时间戳)在录制时被硬编码在脚本中。回放时,这些值已失效,导致回放失败。
解决: 使用关联,将这些动态值从服务器响应中提取出来,保存为参数,再替换到后续请求中。
如何操作:
自动关联: VuGen 提供 Scan for Correlation 功能,可以自动识别并创建关联。首选方法。
手动关联:
对比录制和回放的服务器响应(在 Generation Log 和 Replay Log 中查找差异)。
找到需要关联的动态值。
使用 web_reg_save_param 函数在请求之前注册一个关联函数,从响应中提取值到参数。
// 例如,关联一个名为 "sessionid" 的动态值
web_reg_save_param("sessionid", "LB=name=\"sessionid\" value=\"", "RB=\"", LAST);
web_url("next_page.php", ...); // 这个请求会返回包含 sessionid 的响应
// 之后,可以使用 `{sessionid}` 参数
web_submit_data("submit.php", "Data=sessionid={sessionid}&data=xxx", ...);
参数化
避免所有虚拟用户使用相同的数据,模拟真实场景。
常见的: 用户名、密码、搜索关键词。
操作:
选中要参数化的常量值,右键选择 Replace with Parameter。
创建新参数(如 UserName),并选择参数类型(如 File)。
编辑参数文件(如 .dat 文件),输入多组数据。
设置参数化属性(每次迭代取值方式:唯一、随机、顺序)。
测试总结:
1.先理解业务,再录制脚本。
2.录制的脚本越简单越好,只包含必要的业务操作。
3.录制后立即回放,确保基线正确。
4.关联是第一步,务必在参数化等其他操作之前完成。
5.充分利用日志,Replay Log、Generation Log 和 Extended Log 是调试重要日志文件。
6.迭代测试:修改一点,回放一次,确保每次修改都正确无误。