L'esempio seguente è applicabile agli script in esecuzione su Windows:
import javax.swing.JOptionPane; import resources.RegistryExampleHelper; import com.rational.test.ft.*; import com.rational.test.ft.object.interfaces.*; import com.rational.test.ft.object.interfaces.SAP.*; import com.rational.test.ft.object.interfaces.siebel.*; import com.rational.test.ft.script.*; import com.rational.test.ft.value.*; import com.rational.test.ft.vp.*; /** * Description : Functional Test Script * @author Administrator */ public class RegistryExample extends RegistryExampleHelper { /** * Script Name : RegistryExample * Generated : Jul 20, 2006 1:48:49 PM * Description : Functional Test Script * Original Host : WinNT Version 5.1 Build 2600 (S) * * @since 2006/07/20 * @author Administrator */ public void testMain (Object[] args) { try { //Use this code to extract String (REG_SZ) values from the registry. String regKeyString ="HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Rational Test\\8\\Rational FT Install Directory"; String regValueString = getOperatingSystem().getRegistryValue(regKeyString); JOptionPane.showMessageDialog(null, regValueString,"String Registry Value",1); } catch (NoSuchRegistryKeyException e) { JOptionPane.showMessageDialog(null, "Error finding registry key."); System.out.println ("No Such Registry Key Exception." + e); } try { //Use this code to extract Integer (DWORD) values from the registry. String regKeyInt = "HKEY_CURRENT_USER\\Control " +"Panel\\Desktop\\LowLevelHooksTimeout"; Integer regValueInt = new Integer(getOperatingSystem().getRegistryIntValue(regKeyInt)); JOptionPane.showMessageDialog(null,regValueInt, "Integer Registry " + "Value ",1); } catch (NoSuchRegistryKeyException e) { JOptionPane.showMessageDialog(null, "Error finding registry key."); System.out.println ("No Such Registry Key Exception. (" + e + ")" ); } } }
Vi sono due comandi disponibili per gli utenti di Functional Tester per leggere i valori dal registro. Il comando getRegistryValue viene utilizzato per leggere i valori di stringa dal registro. Il comando getRegistryIntValue viene utilizzato per leggere i valori interi dal registro. Il termine "REG_SZ" descrive i tipi di stringa e di valore intero. Entrambi i comandi utilizzano un argomento di tipo Stringa, che contiene la chiave di registro da estrarre.
L'esempio estrae sia una stringa che un valore intero dal registro. Controllando prima il segmento del valore Stringa, si noti il codice di base:
String regKeyString ="HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Rational Test\\8\\Rational FT Install Directory"; String regValueString = getOperatingSystem().getRegistryValue(regKeyString); JOptionPane.showMessageDialog(null, regValueString,"String Registry Value",1);
La prima riga crea un tipo di variabile Stringa, che contiene il valore di registro da estrarre. La seconda riga esegue il comando e lo memorizza nella variabile di tipoStringaregValueString. La terza riga utilizza la classe JOptionPane.showMessageDialog per visualizzare il valore di registro in una casella di messaggio sullo schermo. Per gli utenti che non conoscono questa ultima classe, si tratta di una classe Swing Java, che è necessario importare perché sia disponibile in Functional Tester. Si noti l'ultima istruzione import nella parte superiore dello script.
Il secondo segmento estrae il valore di tipo int. Nell'esempio, il tipo int semplice viene convertito in un oggetto Intero,in modo che possa essere visualizzato nella finestra di dialogo JOptionPane. Altrimenti, il codice è identico al primo segmento.
Entrambi i comandi generano un'eccezioneNoSuchRegistryKeyException quando hanno esito negativo. Pertanto, si consiglia di chiudere questi metodi all'interno di un blocco try/catch, come nell'esempio. È possibile modificare la chiave di registro in una chiave che non esiste ed eseguire lo script. Verrà visualizzato un messaggio di errore che indica che non è stato possibile trovare la chiave.