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 ブロックにこれらのメソッドを入れることをお勧めします。 レジストリー・キーを存在しない値に変更してスクリプトを実行することができます。キーを検出できなかったことを示すエラー・メッセージが表示されます。