【原创】如何快速将LoadRunner录制的脚本转化为Jmeter脚本,避免Jmeter脚本编辑的繁琐步骤?

如何将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转化方法

posted @ 2020-12-05 09:57  田超  阅读(889)  评论(0编辑  收藏  举报