如何在JMeter中使用beanshell获取机器IP地址?

时间:2016-11-22 13:02:48

标签: jmeter beanshell

我正在尝试在beanhell中为jmeter写一个脚本,通过它我可以获取一台机器的IP地址(使用ipconfig命令并从输出中仅提取IP地址)?

以下代码仅提供需要传递给jmeter的请求的IP。

String IP = InetAddress.getByName(prev.getURL().getHost()).getHostAddress();
vars.put("IP", IP);

任何人都可以指导我吗?

3 个答案:

答案 0 :(得分:3)

试试这个:

vars.put("IP", org.apache.jmeter.util.JMeterUtils.getLocalHostIP());

演示:

Beanshell IP

您还可以在"参数"中使用__machineIP()功能。部分并在脚本正文中将值引用为Parametersbsh.args[0]

参考文献:

答案 1 :(得分:2)

你也可以使用如下:

log.info("IP " + InetAddress.getLocalHost().getHostAddress());
String IP = InetAddress.getLocalHost().getHostAddress();
vars.put("localIP", IP);

稍后,您可以使用以下语法引用IP:

${localIP} or vars.get("localIP")

答案 2 :(得分:1)

您可以使用JMeter提供的单行变量${__machineIP}代替代码。确保我们利用JMeter提供的内置功能,如果不满意,那么只有您应该选择其他选项。 因此,您可以使用${__machineIP}${__machineIP()}。 在某些情况下,它需要放在double quotes("")内,请确保需要在哪里使用"",而不是在哪里。