如何将Loadrunner测试脚本转换为 JMeter脚本
这篇文章会介绍,你如何操作,只需几个快速步骤,你的 LoadRunner 脚本转换为 JMeter 格式,并开始享受 Apache JMeter 的负载测试活动的好处。
如喜欢看英文,请查看原著:https://dzone.com/articles/how-to-convert-loadrunner-tests-to-jmeter
如果要从 LoadRunner 切换到 JMeter,则可能需要将现有的Loadrunner测试脚本转换为 JMeter 格式。
本文将指导您完成此过程,以便您可以在最短时间内顺利执行过渡。
注意:从当前 JMeter 版本 3.1 开始,您将能够仅进行 HTTP(S) 协议转换测试。在 LoadRunner 术语中,它们是:Web = HTTP/HTML 及 Web Service。
第一步:准备 JMeter 进行录制
JMeter 附带一个内置代理服务器,该服务器能够截获流经该服务器的 HTTP 请求并将其转换为 HTTP 请求采样器。
设置用于录制的 JMeter 的最简单方法是使用 JMeter 模板功能。只需点击几下即可设置 JMeter 进行录制。只需从 JMeter >>选择"文件"模板,然后单击"创建"按钮。
JMeter 将填充适合 HTTP(S)流量录制的测试计划。您只需展开工作台> HTTP(S) 测试脚本记录器,然后单击"开始"按钮。
单击"开始"按钮后,JMeter 将显示一条消息,告诉在 JMeter 的 bin 目录中创建了证书。
这并不表示任何错误;它只是一条有关在 Jmeter 的 bin 文件夹中创建 ApacheJMeterTemporaryRootCA.crt 证书的信息消息。如果要记录 HTTP 流量,可以忽略它。如果要记录 HTTPS 流量,则需要在浏览器或移动设备中安装证书。有关详细信息,请参阅使用 JMeter 的代理服务器指南录制 HTTPS 流量。
如果未更改任何默认设置,JMeter 的代理现在应在 JMeter 运行的机器的端口 8888 上运行。
第二步:准备录制Loadrunner脚本
将 LoadRunner 测试转换为 JMeter 的整个想法是使用 JMeter 作为代理来重播 LoadRunner 中的测试,以便 JMeter 可以捕获请求并将其转换为自己的测试计划格式。因此,您需要"告诉"LoadRunner 使用 JMeter 作为代理。
1. 打开负载运行器 VuGen。
2. 打开要转换为 JMeter 格式的脚本。
3. 单击">设置"。
4. 在运行时设置中,在代理>互联网协议,并修改配置如下:
代理:使用自定义代理>使用代理服务器。
HTTP 代理:输入 JMeter 正在运行的计算机的 IP 地址或主机名。如果 VuGen 和 JMeter 在同一台计算机上运行,请在那里键入本地主机。
端口: 8888 (除非您更改了 JMeter 的 HTTP(S) 测试脚本记录器中的端口)。
如果要录制 HTTP(S) 流量,请选中"使用同一代理"所有协议框。
确保未检查本地(局域网)地址的代理服务器!
就是这样!现在,您可以点击 F5(或单击">运行")来启动 LoadRunner 测试执行。JMeter 将记录所有 HTTP 请求,您将能够在 JMeter 的录制控制器下观察它们。以下是录制过程的外观:
最后一步
一旦您有了测试脚本的"骨架",您很可能需要使用JMeter后处理器(正则表达式提取器、CSS/JQuery提取器等)手动关联动态值。
您也可以使用 BlazeMeter 代理记录器而不是 JMeter 的 HTTP(S) 测试脚本记录器。BlazeMeter 代理记录器可以在"SmartJMX"模式下导出测试。此模式将自动检测任何动态参数并生成相关的测试逻辑,以硬编码记录值替换为从以前响应中提取的值。这样,您就不必执行任何额外的操作。有关详细信息,请参阅此如何将 JMeter 脚本时间缩短 80% 的文章。
这是一种方法,您可以快速将现有的 LoadRunner 脚本转换为 JMeter 格式,并开始享受使用免费和开源的 Apache JMeter 进行负载测试活动的好处。
当然您没有loadrunner时,或不想使用LoadRunner时,也可以参考BlaceMeter转化方法。