Lendo o Registro do Windows com o Teste Funcional

O registro do Windows é um banco de dados utilizado pelo sistema operacional Windows para armazenar informações de configuração. Freqüentemente um testador tem a necessidade de ler informações nesse banco de dados utilizando comandos do Teste Funcional. O exemplo a seguir aplica-se a scripts em execução no Windows:

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   : Teste Funcional 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
      ' Utilizar esse código para extrair valores String (REG_SZ)
      ' do registro.
      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
      ' Utilizar esse código para extrair valores Inteiros (DWORD) do
      ' registro.
      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

Há dois comandos disponíveis para usuários do Teste Funcional lerem valores do registro. O comando GetRegistryValue é utilizado para ler valores de cadeia do registro. O comando GetRegistryIntValue é utilizado para ler valores inteiros do registro. Os termos "REG_SZ" descrevem os tipos de cadeia e de inteiro. Ambos os comandos utilizam um tipo de argumento String, que contém a chave de registro a ser extraída.

O exemplo extrai os dois valores, de cadeia e de inteiro do registro. Olhando primeiramente o segmento de valor String, observe o código núcleo:

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

A primeira linha cria um tipo de variável String, que contém o valor do registro a ser extraído. A segunda linha executa o comando e o armazena no tipo String variável RegValueString. A terceira linha utiliza a classe MessageBox para exibir o valor do registro em uma caixa de mensagem na tela.

Termos de uso | Feedback
(C) Copyright IBM Corporation 2002, 2004. Todos os Direitos Reservados.