Functional Test bietet Unterstützung für die Suche nach einem oder mehreren Testobjekten (TestObjects
), die den angegebenen Suchkriterien entsprechen. Die Suche basiert auf Name/Wert-Paaren, die die Eigenschaften des gesuchten Testobjekts (TestObject
) oder der gesuchten Testobjekte (TestObjects
) darstellen. Sie können die Suche entweder global oder begrenzt auf die untergeordneten Elemente eines übergeordneten Testobjekts (TestObject
) ausführen.
Functional Test 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:
AtProperty
- eine Kombination aus Name/Wert, über die die Eigenschaft eines Testobjekts (TestObject
) dargestellt wird
AtChild
- eine oder mehrere Eigenschaften, die mit dem direkt untergeordneten Element des ersten Testobjekts (TestObject
) abgeglichen werden müssen
AtDescendant
- eine oder mehrere Eigenschaften, die mit jedem beliebigen untergeordneten Element des ersten Testobjekts (TestObject
) abgeglichen werden können
AtList
- eine sequenzielle Liste abzugleichender Eigenschaften. Gültige subitem-Elemente zu AtList
sind:
AtChild
AtDescendant
AtProperty
Der erste Listeneintrag wird abgeglichen, um eine Liste mit Kandidaten zu erhalten. Anschließend werden die untergeordneten Elemente dieser Kandidaten in Bezug auf den nächsten Listeneintrag abgeglichen usw.
Es gibt bestimmte Eigenschaften, die sich auf "RootTestObject.find" beziehen. Dazu gehören:
.processName
- eine Eigenschaft der höchsten Ebene mit zwei Funktionen:
Die Prozesse mit diesem Prozessnamen (processName
) werden dynamisch aktiviert.
Der Suchvorgang wird auf Prozesse mit diesem Namen beschränkt.
.processId
- eine Eigenschaft der höchsten Ebene mit zwei Funktionen:
Die Prozesse mit dieser Prozess-ID (pid) werden dynamisch aktiviert.
Der Suchvorgang wird auf Prozesse mit dieser Prozess-ID (pid) beschränkt.
.domain
- eine Markierung, über die angegeben wird, dass die Suche nur in Domänen der höchsten Ebene ausgeführt werden soll, die der Domäneneigenschaft entsprechen.
.hWnd
- Wird für die Suche die Eigenschaft hWnd
verwendet und gleichzeitig der Wert .domain
"Win" angegeben, wird zum Testen mit der Windows-Domäne das entsprechende Fenster aufgerufen.
Handle
- Wird für die Suche die Eigenschaft der Fensterkennung verwendet und gleichzeitig der Wert .domain
"Net" angegeben, wird zum Testen mit der .NET-Domäne das entsprechende Fenster aufgerufen.
Beispiele:
Dim FoundTOs As TestObject() Dim Root As RootTestObject Root = RootTestObject.GetRootTestObject()
' Find all toplevel windows in the Windows domain with ' caption "My Document" Dim Caption As CaptionText Caption = New CaptionText("My Document") FoundTOs = Root.Find(AtChild(".Domain", "Win", _ ".caption", Caption)) ' Find any dialogs, then return their children ' "OK" buttons. Dim DialogRE As RegularExpression = New _ RegularExpression("*dialog", false) Dim ButtonRE As RegularExpression = 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. Dim P1 As ProcessTestObject = StartApp("Notepad") Dim Pid As Integer = 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. Dim HWnd As Long = 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. Dim Handle As Long = GetAppsHwnd() FoundTOs = Root.Find(AtChild("Handle", Handle, ".domain", "Net"))
Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2002, 2004. Alle Rechte vorbehalten.