Functional Tester bietet auch Unterstützung für ein Stammtestobjekt (RootTestObject), über das ein umfassender Überblick über die getestete Software möglich ist. Möchten Sie eine globale Suche ausführen, müssen Sie die entsprechende Suchmethode für das Stammtestobjekt (RootTestObject) aufrufen. Wenn Sie nur die Suchmethode für das gewöhnliche Testobjekt (TestObject) aufrufen, wird nur nach den untergeordneten Elementen des betreffenden Testobjekts (TestObject) gesucht.
Beim ersten Argument der Suchmethode handelt es sich um ein subitem-Element für die Sucheigenschaften. Beim zweiten optionalen Argument handelt es sich um eine Markierung, über die angegeben werden kann, dass nur nach untergeordneten Elementen gesucht werden soll, die sich eventuell in der Testobjektübersicht befinden. Gültige Werte für die subitem-Elemente zu den Eigenschaften sind:
Es gibt bestimmte Eigenschaften, die sich auf "RootTestObject.find" beziehen. Dazu gehören:
Beispiele:
TestObject[] foundTOs ; RootTestObject root = RootTestObject.getRootTestObject() ; // Find all toplevel windows in the Windows domain with caption "My // Document" CaptionText caption = new CaptionText("My Document") ; foundTOs = root.find(atChild(".domain", "Win", ".caption", caption)) ; // Find any dialogs, then return their children // "OK" buttons. RegularExpression dialogRE = new RegularExpression("*dialog", false) ; RegularExpression buttonRE = new RegularExpression("*button", false) ; foundTOs = root.find(atList(atDescendant(".class", dialogRE), atChild(".class", buttonRE,".value", "OK"))) ; // Start Notepad, dynamically enable that process, // find its top-level window that matches the process id // and get its descendant text window. ProcessTestObject p1 = StartApp("Notepad") ; Integer pid = new Integer((int)p1.getProcessId()) ; foundTOs = root.find(atList(atProperty(".processId", pid), atDescendant(".class", ".text"))) ; // This enables a Windows app with the provided window handle and returns a // TestObject representing the window. Long hWnd = getAppsHwnd(); foundTOs = root.find(atChild(".hwnd", hWnd, ".domain", "Win")); // This enables a .NET app with the provided window handle and returns a // TestObject representing the window. Long handle = getAppsHwnd(); foundTOs = root.find(atChild("Handle", handle, ".domain", "Net"));