Windows-Registrierung mit Functional Test lesen

Bei der Windows-Registrierung handelt es sich um eine Datenbank, die vom Betriebssystem Windows zum Speichern von Konfigurationsdaten verwendet wird. Häufig ist es für einen Tester erforderlich, über Functional Test-Befehle Informationen aus dieser Datenbank auszulesen. Das folgende Beispiel gilt für Scripts, die unter Windows ausgeführt werden:

Imports Rational.Test.Ft
Imports Rational.Test.Ft.Object.Interfaces
Imports Rational.Test.Ft.Script
Imports Rational.Test.Ft.Value
Imports Rational.Test.Ft.Vp
Imports System.Windows.Forms
  
Public Class RegistryExample Inherits RegistryExampleHelper
    ' Script Name   : RegistryExample
    ' Generated     : Dec 14, 2005 3:58:25 PM
    ' Modified      : Dec 14, 2005 3:58:25 PM
    ' Description   : Functional Test Script
    ' Original Host : WinNT Version 5.0 Build 2195 (Service Pack 3)
 
    ' since 2005/12/14
    ' author Administrator
 
Public Function TestMain (ByVal args() As Object)
    SetOption (IOptionName.BRING_UP_LOGVIEWER, False)
    Try
      ' Use this code to extract String (REG_SZ) values
      ' from the registry.
      Dim RegKeyString As String = _
  "HKEY_LOCAL_MACHINE\Rational Software\Rational Test\8\Rational FT Install Directory"
      Dim RegValueString As String = _
        GetOperatingSystem().GetRegistryValue(RegKeyString)
      MessageBox.Show (RegValueString, "String Registry Value")
    Catch E As NoSuchRegistryKeyException
      MessageBox.Show ("Error finding registry key.")
      System.Console.WriteLine ("No Such Registry Key Exception." + E.toString)
    End Try
 
    Try
      ' Use this code to extract Integer (DWORD) values from the
      ' registry.
      Dim RegKeyInt As String = _
 "HKEY_CURRENT_USER\Control Panel\Desktop\LowLevelHooksTimeout"
      Dim RegValueInt As Integer = GetOperatingSystem(). _
        GetRegistryIntValue(RegKeyInt)
      MessageBox.Show(RegValueInt, "Integer Registry Value")
    Catch E As NoSuchRegistryKeyException
      MessageBox.Show("Error finding registry key.")
      System.Console.WriteLine ("No Such Registry Key Exception. (" + _
        E.toString + ")" )
    End Try
    End Function
End Class

Functional Test-Benutzern stehen zwei Befehle zur Verfügung, mit deren Hilfe sie Werte aus der Registrierung auslesen können. Der Befehl GetRegistryValue wird zum Auslesen von Zeichenfolgewerten aus der Registrierung verwendet. Der Befehl GetRegistryIntValue dient dazu, ganzzahlige Werte aus der Registrierung auszulesen. Mit den Bedingungen "REG_SZ" werden die Zeichenfolgewerte und ganzzahligen Werte gekennzeichnet. Beide Befehle arbeiten mit einem Argument des Typs String (Zeichenfolge), das den zu extrahierenden Registrierungsschlüssel enthält.

In dem Beispiel wird sowohl ein Zeichenfolgewert als auch ein ganzzahliger Wert aus der Registrierung ausgelesen. Betrachten Sie zunächst das Segment mit dem Wert des Typs String und dessen Kerncode:

      Dim RegKeyString As String = _
"HKEY_LOCAL_MACHINE\Rational Software\Rational Test\8\Rational FT Install Directory"
      Dim RegValueString = _
        GetOperatingSystem().GetRegistryValue(RegKeyString)
      MessageBox.Show(RegValueString, "String Registry Value")

In der ersten Zeile wird eine Variable des Typs String erzeugt, die den zu extrahierenden Registrierungswert enthält. In der zweiten Zeile wird der Befehl ausgeführt und in der Variablen RegValueString des Typs String gespeichert. In der dritten Zeile wird die Klasse MessageBox dazu verwendet, den Registrierungswert in einem Nachrichtenfenster auf dem Bildschirm anzuzeigen.

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2002, 2004. Alle Rechte vorbehalten.