Interaktion mit mehreren Instanzen einer Anwendung in der codierten Benutzeroberfläche

Das Szenario, mit dem ich konfrontiert bin, besteht darin, dass ich versuche, einen einzelnen Test zu schreiben, der die codierte Benutzeroberfläche verwendet, um mit mehreren Instanzen derselben Anwendung, in diesem Fall Microsoft Excel, zu interagieren. Mit anderen Worten, in mehreren Fenstern werden mehrere Excel-Arbeitsmappen geöffnet, und ich muss Coded UI anweisen können, programmgesteuert mit einer bestimmten Instanz zu interagieren. Ich dachte anfangs, diese Art der Instanzverwaltung wäre eine Funktion vonApplicationUnderTest Klasse, aber es ist nicht offensichtlich, wie diese Klasse dies erreichen würde.

Die Interaktionen beinhalten für alle Instanzen dieselbe UIMap (tatsächlich benötigt jede Instanz wahrscheinlich mehrere UIMaps, aber der Einfachheit halber kann dies für diese Frage ignoriert werden, es sei denn, dies ist für die Antwort von Bedeutung).

Einige Lösungsansätze sind mir bereits bekannt:

Minimieren und maximieren Sie die Instanzen, sodass immer nur die aktuell verwendete sichtbar ist. Idealerweise möchte ich das vermeiden. Zum einen kann es irgendwann erforderlich werden, dass während der Tests zwei Fenster gleichzeitig sichtbar sind.Ändern Sie die Sucheigenschaften dynamisch so, dass sie bei jedem Zugriff auf die Benutzeroberflächenzuordnung einen eindeutigen Bezeichner enthalten. Ich bin nicht sicher, was der beste Kandidat für eine Suchimmobilie hier wäre.

Idealerweise möchte ich etwas, das stärker in die codierte Benutzeroberfläche integriert ist, als eine dieser beiden Optionen, obwohl letztere bei Bedarf wahrscheinlich ausreichen würden. Ich würde mich über jede Richtung freuen, ob es andere mögliche Ansätze gibt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage