다음 예제는 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 사용자가 레지스트리에서 값을 읽을 때에는 두 명령을 사용할 수 있습니다. 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 변수 유형을 작성합니다. 두 번째 행에서는 명령을 실행하고 이를 String 유형의 변수인 regValueString에 저장합니다. 세 번째 행에서는 JOptionPane.showMessageDialog 클래스를 사용하여 화면의 메시지 상자에 레지스트리 값을 표시합니다. 이 마지막 클래스에 익숙하지 않은 경우 Functional Tester에서 사용할 수 있으려면 Java Swing 클래스를 가져와야 합니다. 스크립트 맨 위에 있는 마지막 import 명령문을 참조하십시오.
두 번째 세그먼트에서는 int 유형의 값을 추출합니다. 예제에서, 단순 유형의 int는 정수 오브젝트로 변환되어 JOptionPane 대화 상자에 표시될 수 있습니다. 그렇지 않으면 코드는 첫 번째 세그먼트와 동일합니다.
명령 모두에서는 실패할 경우 NoSuchRegistryKeyException을 리턴합니다. 그러므로 예제에서 처럼 try/catch 블록으로 이 메소드를 랩핑하는 것이 좋습니다. 레지스트리 키를 존재하지 않는 값으로 변경한 후 스크립트를 실행할 수 있습니다. 키를 찾을 수 없음을 표시하는 오류 메시지가 표시됩니다.