使用LoadRunner录制Windows应用程序的操作脚本是性能测试中的一个关键步骤
使用LoadRunner录制Windows应用程序的操作脚本是性能测试中的一个关键步骤。下面我将为你梳理主要流程、注意事项和常见问题解决方法。
🖥️ LoadRunner录制Windows应用脚本指南
📋 录制核心步骤
录制Windows应用程序脚本时,需特别注意协议选择和录制模式。
| 录制步骤 | 关键内容/选项 | 备注 |
|---|---|---|
| 协议选择 | Windows Apps, .NET, WinINet, Windows Sockets | 根据应用技术栈选择,不确定时可咨询开发人员 |
| 应用程序类型 | Win32 Application | 区别于浏览器的录制方式 |
| 录制程序路径 | 目标应用的.exe可执行文件 | 需填写完整的绝对路径 |
| 录制模式 | 通过LoadRunner代理服务器录制 | 常用于本地应用程序 |
| 代理设置 | 端口号通常为8520 (默认) | 确保应用程序的网络流量经过代理 |
1. 启动VuGen并创建新脚本
打开LoadRunner的Virtual User Generator (VuGen)组件。点击菜单栏的 File -> New Script and Solution。在弹出的窗口中,协议选择至关重要。对于Windows应用程序,常见的协议类型包括"Windows Applications"、".NET"、"WinINet"或"Windows Sockets"。如果你不确定应用程序使用的具体协议,可以咨询开发人员或尝试使用通用协议如"Windows Applications"。
2. 配置录制选项
创建脚本后,点击红色的录制按钮,会弹出录制设置对话框(Start Recording对话框)。
- Application type(应用程序类型):选择"Win32 Application",而不是用于Web录制的"Internet Application"。
- Program to record(录制程序):点击浏览按钮,选择你要测试的Windows应用程序的可执行文件(.exe)的完整路径。
- 如果你的应用程序需要特定的命令行参数或启动目录,也可以在相应字段中填写。
3. 设置代理服务器(关键步骤)
许多Windows应用程序不直接使用系统代理,因此需要通过LoadRunner的代理服务器进行录制,以确保能捕获到网络流量。
- 在录制设置对话框中,找到并点击"Recording Options"(录制选项)链接。
- 在录制选项窗口中,导航至
HTTP Properties->Advanced节点。 - 勾选"Use LR proxy server for recording native applications"(使用LR代理服务器录制本地应用程序)或类似选项。
- 有时你可能需要手动在应用程序中配置代理设置,将其指向LoadRunner代理服务器(默认端口常为8520)。
4. 开始录制
配置完成后,点击"Start Recording"按钮。LoadRunner会启动你指定的Windows应用程序。此时你会看到一个浮动录制工具栏。在应用程序上进行你需要测试的操作(例如:点击按钮、输入数据、提交表单等),所有这些操作都会被VuGen捕获并转换为脚本。
5. 插入事务和集合点(可选)
在录制过程中,你可以通过浮动工具栏:
- 插入事务(Transactions):标记你希望测量响应时间的业务操作起点和终点(例如,将“登录”操作标记为一个事务)。
- 插入集合点(Rendezvous):标记一个点,用于在负载测试中模拟多用户同时执行某个操作(例如,多个用户同时点击“提交订单”)。
- 插入注释:为脚本添加说明,提高可读性。
6. 停止录制并保存脚本
完成所有操作后,点击浮动工具栏上的"Stop"按钮结束录制。VuGen会自动生成基于C语言的脚本(通常是vuser_init、Action、vuser_end三部分)。保存你的脚本。
⚠️ 录制技巧与注意事项
- 协议选择是基础:选择错误的协议可能导致无法录制到任何有效操作或录制的脚本无法正确回放。如果不确定,尝试不同的协议或使用Wireshark等工具分析应用程序的网络行为。
- 确保应用程序稳定:录制前,确认待测的Windows应用程序本身可以独立正常运行,没有已知的崩溃或严重错误。
- 关注初始化与清理:通常将应用程序的启动登录等操作录制在
vuser_init中,将退出注销等操作录制在vuser_end中。核心业务流程则录制在Action部分。运行时,vuser_init和vuser_end只执行一次,而Action部分会根据迭代次数重复执行。 - 权限问题:以管理员身份运行VuGen,避免因权限不足导致录制失败或无法启动应用程序。
- 脚本优化很重要:录制的原始脚本通常包含冗余请求。回放成功后,应删除不必要的代码(如无关的
web_add_cookie信息或无用请求),并对动态值(如会话ID、时间戳)进行关联(Correlation) 处理。
🔧 常见问题与解决方法
-
问题1:录制时事件数为0,脚本为空
- 原因:协议选择错误、代理设置问题或应用程序网络流量未被捕获。
- 解决:确认协议选择正确;检查并确保已启用"通过LoadRunner代理服务器录制"的选项;尝试以管理员身份运行VuGen;关闭不必要的后台程序释放端口。
-
问题2:回放时脚本报错(如Error -27979: Requested form not found)
- 原因:通常是动态值(如Session ID、ViewState等)未做关联处理,回放时使用的还是录制时的旧值。
- 解决:进行关联。回放脚本后,使用VuGen的"Scan for Correlations"功能(或按Ctrl+F8)扫描并处理动态值。手动编写
web_reg_save_param函数来捕获并保存服务器返回的动态值,然后在后续请求中使用该参数。
-
问题3:应用程序录制不准确或丢失操作
- 原因:应用程序可能使用了复杂的通信机制(如异步消息、自定义TCP包)。
- 解决:尝试使用"Windows Sockets"协议进行录制。这可能生成更低级、更原始的脚本,但能捕获到所有网络流量。后续需要更多手动编写脚本的工作。
-
问题4:设置代理后无法上网或应用程序无法连接网络
- 原因:这属于正常现象,代理设置后流量需经LoadRunner转发。
- 解决:录制完成后,记得关闭浏览器或应用程序中的代理设置,否则无法正常上网。
录制只是创建性能测试脚本的第一步。要获得一个真实、可靠、可重复使用的脚本,通常还需要进行参数化(用参数替换固定数据)、插入检查点(验证响应内容)和添加逻辑控制等增强工作。
希望这些信息能帮助你顺利完成Windows应用程序的脚本录制。如果你在具体操作中遇到其他问题,欢迎继续询问。
更多推荐
所有评论(0)