Retrieving the IP address of a virtual user

This example shows how to retrieve the local IP address of a virtual user. Retrieving IP addresses is particularly useful when virtual users are using IP aliases.
The following custom code retrieves the IP address that was assigned to a virtual user:
import java.net.InetAddress;
import com.ibm.rational.test.lt.kernel.IDataArea;
import com.ibm.rational.test.lt.kernel.services.ITestLogManager;
import com.ibm.rational.test.lt.kernel.services.IVirtualUserInfo;

public String exec(ITestExecutionServices tes, String[] args) {
	IVirtualUserInfo vui = (IVirtualUserInfo) tes.findDataArea(IDataArea.VIRTUALUSER).get(IVirtualUserInfo.KEY);
	ITestLogManager tlm = tes.getTestLogManager();

	if (vui != null) {
		String localAddr = null;
		InetAddress ipAddr = vui.getIPAddress();
		if (ipAddr != null)
			localAddr = ipAddr.toString();
		tlm.reportMessage("IPAlias address is " + (localAddr != null ? localAddr : "not set"));
		return localAddr;
	}
else
		return ("Virtual User Info not found");
}
Note:
  • IP aliasing must be enabled. If not, vui.getIPAddress() returns null. For information on enabling IP aliasing, see Enabling virtual users to use IP aliases.
  • IP aliases must be configured at the remote location. For information on configuring IP aliases, see ../../com.ibm.rational.test.lt.doc/topics/tconfigip.html.
  • The Log Level must be set to a value granular enough to include the IP address, so that the tlm.reportMessage() method can retrieve it. If you insert custom code at the page level, keep Log Level at the default value, Primary Test Actions. If you insert custom code at the request level, set Log Level to Secondary Test Actions, a more granular value. For information on setting the test log level, see ../../com.ibm.rational.test.lt.doc/topics/tsetxlog.html.
Feedback