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.