Lecture du registre Windows avec Functional Tester

Le registre Windows est une sorte de base de données utilisée par le système d'exploitation Windows pour stocker toutes les informations de configuration. Il n'est pas rare que le testeur ait besoin de lire les informations de cette base de données en utilisant des commandes de Functional Tester. L'exemple suivant s'applique aux scripts exécutés sous 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   : 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
      ' Utiliser ce code pour lire les valeurs de type chaîne (REG_SZ)
      ' dans le registre.
      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, "Valeur de registre de type String")
    Catch E As NoSuchRegistryKeyException
      MessageBox.Show ("Erreur : clé de registre introuvable.")
      System.Console.WriteLine ("Exception NoSuchRegistryKeyException." + E.toString)
    End Try
 
    Try
      ' Utiliser ce code pour lire les valeurs de type Integer (DWORD) dans
      ' le registre.
      Dim RegKeyInt As String = _
 "HKEY_CURRENT_USER\Control Panel\Desktop\LowLevelHooksTimeout"
      Dim RegValueInt As Integer = GetOperatingSystem(). _
        GetRegistryIntValue(RegKeyInt)
      MessageBox.Show(RegValueInt, "Valeur de registre de type Integer")
    Catch E As NoSuchRegistryKeyException
      MessageBox.Show("Erreur : clé de registre introuvable.")
      System.Console.WriteLine ("Exception NoSuchRegistryKeyException. (" + _
        E.toString + ")" )
    End Try
    End Function
End Class

Deux commandes sont à la disposition des utilisateurs de Functional Tester pour lire les valeurs du registre. La commande GetRegistryValue sert à lire les valeurs de type chaîne. La commande GetRegistryIntValue sert à lire les valeurs de type entier (integer). Les termes "REG_SZ" et "DWORD" décrivent respectivement ces deux types de données. Les deux commandes reçoivent un argument de type String qui contient le nom de la clé de registre dont on souhaite lire la valeur.

Dans l'exemple qui précède, on lit dans le registre une valeur de type chaîne et une valeur de type entier. Examinons le code plus en détail en commençant par le premier segment, qui lit une valeur de clé de type chaîne (String) :

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

La première ligne crée une variable de type String, qui contient le nom de la clé de registre dont on souhaite lire la valeur. La seconde ligne exécute la commande et stocke son résultat dans une autre variable de type String appelée RegValueString. La troisième ligne utilise la classe MessageBox pour présenter la valeur lue dans une boîte de message affichée à l'écran.

Conditions d'utilisation | Appréciations en retour
(C) Copyright IBM Corporation 2002, 2004. All Rights Reserved.