Recherche d'objets de test

Functional Tester permet de rechercher un ou plusieurs objets de test (TestObjects) répondant à des critères spécifiques. La recherche porte sur des paires nom-valeur qui représentent les propriétés du ou des objets de test (TestObject ou TestObjects) que vous recherchez. Elle peut être soit globale, soit limitée aux descendants (objets enfant) d'un objet de test (TestObject) parent.

Pour représenter une vue globale du logiciel en cours de test, Functional Tester prend en charge un objet de test racine, RootTestObject. Pour effectuer une recherche globale, vous devez invoquer la méthode find sur RootTestObject. Si vous invoquez cette méthode sur un objet de test (TestObject) particulier, la recherche portera uniquement sur les descendants de cet objet.

Le premier argument de la méthode find est un sous-élément destiné à spécifier les propriétés de recherche. Le second argument, optionnel, est un fanion (flag) indiquant si la recherche doit porter uniquement sur les descendants (objets enfant) inclus dans la mappe d'objets de test. Les valeurs admises pour le sous-élément de spécification des propriétés de recherche sont les suivantes :

Des propriétés spéciales sont prévues pour la méthode RootTestObject.find :

Exemples :

TestObject[] foundTOs ;
RootTestObject root = RootTestObject.getRootTestObject() ;
// Rechercher, dans le domaine Windows, toutes les fenêtres de niveau supérieur
// qui ont pour titre (caption) Mon document"
CaptionText caption = new CaptionText("Mon document") ;
foundTOs = root.find(atChild(".domain", "Win", ".caption",
     caption)) ;

// Trouver toutes les boîtes de dialogue, puis renvoyer
// leurs boutons "OK" enfants.
RegularExpression dialogRE = new
     RegularExpression("*dialog", false) ;
RegularExpression buttonRE = new
     RegularExpression("*button", false) ;
foundTOs = root.find(atList(atDescendant(".class",
                     dialogRE), 
                     atChild(".class", buttonRE,".value", 
                     "OK"))) ;

// Démarrer Notepad (Bloc-notes), activer dynamiquement ce processus, trouver
// sa fenêtre de niveau de supérieur concordant avec l'ID de processus (pid)
// et obtenir sa fenêtre de texte descendante.
	ProcessTestObject p1 = StartApp("Notepad") ;
	Integer pid = new Integer((int)p1.getProcessId()) ;
	foundTOs = root.find(atList(atProperty(".processId",
     pid), atDescendant(".class", ".text"))) ;
 
// Activer une application Windows ayant le descripteur (handle) de fenêtre
// fourni et retourner un TestObject représentant cette fenêtre.
Long hWnd = getAppsHwnd();
foundTOs = root.find(atChild(".hwnd", hWnd, ".domain", "Win"));

// Activer une application .NET ayant le descripteur (handle) de fenêtre
// fourni et retourner un TestObject représentant cette fenêtre.
Long handle = getAppsHwnd();
foundTOs = root.find(atChild("Handle", handle, ".domain", "Net"));

Retour d'informations