Windows-Registrierung mit Functional Tester 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 Tester-Befehle Informationen aus dieser Datenbank auszulesen. Im vorliegenden Abschnitt finden Sie entsprechende Beispiele.

Das folgende Beispiel gilt für Scripts, die unter Windows ausgeführt werden:

#Region " Script Header "
' Functional Test Script
' author Administrator

 Imports Microsoft.VisualBasic
Imports Rational.Test.Ft
Imports Rational.Test.Ft.Object.Interfaces
Imports Rational.Test.Ft.Object.Interfaces.SAP
Imports Rational.Test.Ft.Object.Interfaces.Siebel
Imports Rational.Test.Ft.Script
Imports Rational.Test.Ft.Value
Imports Rational.Test.Ft.Vp
Imports System.Windows.Forms

#End Region

Public Class RegistryExample Inherits RegistryExampleHelper
'Script Name   : RegistryExample
    'Generated     : Jul 20, 2006 3:15:34 PM
    'Description   : Functional Test Script
    'Original Host : Windows XP x86 5.1 build 2600 Service Pack 2 

    'since  2006/07/20
    '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\SOFTWARE\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 Tester-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\SOFTWARE\Rational Software\Rational Test\8\Rational FT Install Directory"
      Dim RegValueString As String = 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.


Feedback