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 Emulating network traffic from multiple hosts.
- 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 Setting the data that the test log collects.