如何获取响应来自的服务器的 IP 地址?

How can I get the Ip address of server from which response is coming?

我目前是 JMeter 的新手,我正在测试 Rest API,我需要记录响应来自的服务器 IP。

我可以测试 API 但无法记录 IP 地址。 我怎样才能达到同样的效果?

假设您在变量 serverName 中发送到服务器名称,所以添加 JSR223 PostProcessor (or other JSR223 element) and get the IP using InetAddress:

This class represents an Internet Protocol (IP) address.

InetAddress address = InetAddress.getByName(vars.get("serverName")); 
log.info address.getHostAddress();
vars.put("serverIP", address.getHostAddress());

然后您可以使用 ${serverIP} 变量

  1. 添加 JSR223 PostProcessor 作为 HTTP 请求采样器的子项
  2. 将以下代码放入"Script"区域:

    log.info('Source IP address: ' + InetAddress.getByName(sampler.getDomain()).getHostAddress())
    

    它将IP地址打印到jmeter.log文件

  3. 如果你想保存这个IP以备后用re-use你可以修改代码如下:

    vars.put('ip', InetAddress.getByName(sampler.getDomain()).getHostAddress())
    

    并将下一行添加到 user.properties 文件:

    sample_variables=ip
    

    因此,您将在 .jtl 文件中多出一列,其中包含服务器的 IP 地址。

更多信息: