JMeter动态插入服务器名称或IP

Chi*_*ins 9 jmeter

我正在尝试创建JMeter测试并对不同的环境使用相同的测试 - QA,Staging,Dev等.我想通过更改CSV文件或通过ant脚本传递值或通过命令提示符手动更改IP地址.不幸的是,我无法这样做.测试不会从CSV文件或命令提示符中获取值.

有人可以帮帮我吗.

提前致谢.

Ste*_*ins 10

我通常会在测试中添加一个HTTP Request Defaults元素并手动更改它.

选择HTTP请求默认值

在此输入图像描述

否则,为了自动化,您可以使用脚本修改jmx文件.

实际上编辑时,您可以使用ant过滤器在构建时动态更改它.例如,使用过滤器<filter token="SERVER" value="${server}"/>copy目标过滤下面的文件将获得一个新的jmx文件,它将使用正确的服务器.

 <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
            <collectionProp name="Arguments.arguments"/>
          </elementProp>
          <stringProp name="HTTPSampler.domain">@SERVER@</stringProp>
          <stringProp name="HTTPSampler.port"></stringProp>
          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
          <stringProp name="HTTPSampler.response_timeout"></stringProp>
          <stringProp name="HTTPSampler.protocol"></stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp name="HTTPSampler.path"></stringProp>
        </ConfigTestElement>
Run Code Online (Sandbox Code Playgroud)


oly*_*ren 6

首先,您应该将 csv 文件放在保存测试脚本文件的位置。通常测试脚本可以保存为 jmx 扩展名,并将 csv 文件放在它的同一目录中。

CSV文件内容如下:

url;www.test123.com
url;www.test1234.com
url;www.test12345.com
Run Code Online (Sandbox Code Playgroud)

请注意,在线程组配置中,线程计数必须是 csv 文件中的最小行数。根据上面的 CSV 文件,我们应该在线程组中定义至少 3 个线程。

配置完成后,JMeter每次执行线程时都会自动调用Http Request Defaults配置。

CSV 数据集配置

在此输入图像描述

HTTP 请求默认值

在此输入图像描述

HTTP 请求(仅设置路径)

在此输入图像描述

正则表达式提取器(可选以查找特定响应)

在此输入图像描述

将找到的正则表达式结果写入文件(可选)

在此输入图像描述

来源:http ://www.codesenior.com/en/tutorial/JMeter-Dynamically-Change-Server-Name-Using-CSV-Data-File


And*_*ula 0

如果您查看文档,就会发现使用 CSV 在启动时加载变量相当简单:

创建一个包含用户名和密码的文本文件,以逗号分隔。将其放在与您的测试计划相同的目录中。

将 CSV 数据集配置元素添加到测试计划中。将变量命名为 USER 和 PASS。

在相应的采样器上将登录名替换为 ${USER},将密码替换为 ${PASS}

CSV 数据集元素将为每个线程读取一个新行

需要注意的重要一点是最后一行 - 也许您正在进入一个新的线程组,但将变量全部放在一行中。或者,将它们放在一组的多条线路上也会引起问题。