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 + ")" ); } } }
Functional Tester ユーザーがレジストリーから値を読み取る場合に、2 つのコマンドを使用できます。 getRegistryValue コマンドは、レジストリーからストリング値を読み取るために使用します。 getRegistryIntValue は、レジストリーから整数値を読み取るために使用します。 "REG_SZ" という語は、ストリングおよび整数タイプを記述します。 どちらのコマンドもタイプ String の引数を取ります。この引数には抽出するレジストリー・キーが含まれます。
この例では、レジストリーからストリングと整数値の両方を抽出します。最初に String 値セグメントについて見ると、以下の核となるコードに注目できます。
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);
最初の行はタイプ String の変数を作成します。この変数には、抽出するレジストリー値が含まれます。 2 番目の行はコマンドを実行し、タイプ String の変数 regValueString にそれを保管します。 3 番目の行は、JOptionPane.showMessageDialog クラスを使用して、画面上のメッセージ・ボックス内にレジストリー値を表示します。 この最後のクラスに知られていないもの (Java Swing クラス) については、インポートして Functional Tester で使用できるようにしなければなりません。 スクリプトの先頭にある最後の import 文に注意してください。
2 番目のセグメントはタイプ int 値を抽出します。 この例では、単純タイプ int が Integer オブジェクトに変換され、JOptionPane のダイアログに表示できるようになります。 それ以外は、このコードは最初のセグメントと同一です。
どちらのコマンドも、失敗すると NoSuchRegistryKeyException をスローします。 したがって、例のように、try/catch ブロックにこれらのメソッドを入れることをお勧めします。 レジストリー・キーを存在しない値に変更してスクリプトを実行することができます。キーを検出できなかったことを示すエラー・メッセージが表示されます。