Cet exemple montre comment extraire
l'adresse IP locale d'un utilisateur virtuel. L'extraction
des adresses IP est particulièrement utile lorsque les utilisateurs virtuels utilisent
des alias IP.
Le code personnalisé suivant extrait l'adresse IP affectée à un utilisateur
virtuel :
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");
}
Remarque : - L'utilisation d'alias IP doit être activée. Si ce n'est pas le cas,
vui.getIPAddress() renvoie la valeur null. Pou des informations sur
l'activation d'alias IP, voir Utilisation d'alias IP par les utilisateurs virtuels.
- Les alias IP doivent être configurés sur l'emplacement éloigné. Pour plus
d'informations sur la configuration des alias IP, voir Emulation d'un trafic réseau à partir de plusieurs hôtes.
- La valeur du niveau de journalisation doit être suffisamment
détaillée pour inclure l'adresse IP, de sorte que la méthode
tlm.reportMessage() puisse l'extraire. Si vous insérez un code
personnalisé au niveau de la page, conservez la valeur par défaut du niveau
de journalisation, à savoir, Actions de test principales.
Si vous insérez un code personnalisé au niveau de la demande, affectez au
niveau de journalisation la valeur Actions de test secondaires, qui est plus détaillée. Pour plus d'informations sur la définition du
niveau de journalisation du test, voir Définition des données collectées par le journal de test.