Lectura del registro de Windows con Functional Tester

El registro de Windows es una base de datos que utiliza el sistema operativo Windows para almacenar información de la configuración. A menudo, el verificador lo necesita para extraer información de esta base de datos utilizando mandatos de Functional Tester. Este tema facilita algunos ejemplos para hacerlo.

El siguiente ejemplo se puede aplicar a aquellos scripts que se ejecuten en Windows:

#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

Los usuarios disponen de dos mandatos de Functional Tester para leer valores de los registros. El mandato GetRegistryValue se utiliza para leer valores de serie del registro. El mandato GetRegistryIntValue se utiliza para leer valores enteros del registro. Los términos "REG_SZ" describen los tipos de serie y de entero. Los dos mandatos toman un argumento tipo String, que contiene la clave de registro que debe extraerse.

El ejemplo extrae el valor de serie y el valor entero del registro. Si observa primero el segmento de valor String, fíjese en el código núcleo:

      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")

La primera línea crea una variable tipo String, que contiene el valor de registro que debe extraerse. La segunda línea ejecuta el mandato y lo almacena en el tipo variable String RegValueString. La tercera línea utiliza la clase MessageBox para visualizar el valor de registro en un recuadro de mensaje de la pantalla.


Comentarios