Abonnieren

UiPath Studio

UiPath Studio-Anleitung

UI-Automatisierung (UI Automation)

In manchen Fällen ist die normale, manuelle Routine nicht optimal für die Automatisierung. Untersuchen Sie sorgfältig das Verhalten der Anwendung und die Integration/Features von UiPath, bevor sie sich für einen bestimmten Ansatz entschließen.

📘

Wichtig!

Die Verwendung der Aktivität Parallel in Verbindung mit UI-Automationsaktivitäten wird nicht unterstützt und führt oftmals zu unvorhergesehenen Konsequenzen.

Desktop-Automatisierung

Die UI-Automatierung wird am besten eingesetzt, wenn Roboter und Anwendungen auf dem gleichen Computer laufen, weil UiPath dann direkt mit der Technologie hinter der Anwendung integrieren kann, um Elemente zu identifizieren, Events auszulösen und die Daten „hinter den Kulissen“ abzurufen.

Eingabemethoden

UiPath verwendet drei Methoden, um eine Klicken- oder Eingeben in-Aktivität auf einer Anwendung auszulösen. Doe werden als Eigenschaften in allen Aktivitäten angezeigt, die mit der UI-Automatisierung arbeiten.

Die Eigenschaften „SimulateType“ und „SimulateClick“

Wenn die Eigenschaft SimulateType oder SimulateClick ausgewählt wird, verbindet sich Studio mit der Anwendung und löst den Ereignishandler eines angegebenen UI-Elements aus (Schaltfläche, Textfeld). Das Ergebnis ist immer abhängig von der Zieltechnologie, wie z. B. einem Webbrowser oder einer Geschäftsanwendung.

Es wird dringend empfohlen, den Zustand des Ziel-UI-Elements vor der Ausführung zu überprüfen, wenn Sie SimulateType oder SimulateClick für die folgenden Aktivitäten aktivieren:

Dieselbe Empfehlung sollte auch für die unten aufgeführten Anwendungen beachtet werden, da diese standardmäßig die Eigenschaft SimulateType oder SimulateClick verwenden und nicht geändert werden können:

Die Eigenschaft „SendWindowMessages“

Wenn die Eigenschaft SendWindowMessages ausgewählt ist, postet Studio die Eventdetails in der Anwendungsnachrichtenschleife und die Fensterprozedur der Anwendung verteilt sie intern an das Ziel-UI-Element.

391391

Studio signalisiert Systemtreibern mithilfe von Hardware-Events, auch wenn keine der obigen Optionen ausgewählt sind, und es lässt das Betriebssystem die Details zum Zielelement verteilen.

760760

Diese Methoden sollten in der vorgestellten Reihenfolge ausprobiert werden, da die Eigenschaften SimulateClick und SendWindowMessages schneller sind und auch im Hintergrund arbeiten. Sie sind jedoch weitestgehend von der Technologie hinter der Anwendung abhängig.

Hardware-Events funktionieren zu 100 %, da Studio Aktionen wie ein menschlicher Betreiber ausführt, wie beispielsweise das Bewegen eines Mauszeigers und das Klicken auf eine bestimmte Position. In diesem Fall muss die zu automatisierende Anwendung jedoch auf dem Bildschirm sichtbar sein. Dies könnte als Nachteil angesehen werden, da das Risiko besteht, dass der Benutzer in die Automatisierung eingreifen kann.

Selektoren

Manchmal schlagen die automatisch generierten Selektoren volatile Attributwerte vor, um Elemente zu identifizieren. In diesem Fall ist eine manuelle Intervention erforderlich, um die Selektoren zu kalibrieren. Ein zuverlässiger Selektor sollte das gleiche Element in allen Zuständen, in Entwicklungs-, Test- und Produktionsumgebungen und unabhängig von den bei der Anwendung angemeldeten Benutzernamen erfolgreich identifizieren.

Here are some tips on how to improve a selector in the Selector Editor or UI Explorer:

  • Ersetzen Sie Attribute mit volatilen Werten mit Attributen, die gleichmäßig und aussagekräftig aussehen.
  • Ersetzen Sie variable Teile eines Attributwerts mit Platzhaltern (*).
  • Falls der Wert eines Attributs ausschließlich aus Platzhaltern besteht (z. B. name=’*’), dann sollte es entfernt werden.
  • Wenn die Bearbeitung der Attribute nicht hilft, versuchen Sie mehr dazwischengeschaltete Container hinzuzufügen.
  • Vermeiden Sie die Verwendung des Attributs idx, es sei denn sein Wert ist eine sehr kleine Nummer, wie 1 oder 2.
13561356

Im obigen Selektor haben wir bemerkt, dass der Seitentitel eine Referenz zu der Zeit hat, zu dem der Selektor aufgezeichnet wurde, und dass einige Attribute zufällig aussehende IDs haben. Indem wir die Attribute optimieren, erhalten wir einen besseren Selektor als den, denn der UiPath-Aufzeichner vorgeschlagen hatte.

10451045

Container

Ähnlich wie Dateipfade können Selektoren vollständig oder partiell (relativ) sein. Vollständige Selektoren beginnen mit einem Fenster oder einer HTML-ID und haben alle erforderlichen Informationen, um ein Element auf dem gesamten Desktop zu finden. Partielle Selektoren funktionieren nur in einem Anhang/Container, der das Fenster der oberste Ebene festlegt, in dem sich die Elemente befinden sollen:

  • OpenBrowser
  • OpenApplication
  • AttachBrowser
  • AttachWindow

Here is a bit more info on Full versus Partial Selectors.

Es gibt mehrere Vorteile, Container mit partiellen Selektoren anstelle von vollständigen Selektoren zu verwenden:

  • Visuelle Gruppierung von Aktivitäten, die auf der gleichen Anwendung funktionieren.
  • Etwas schneller, weil nicht jedes Mal nach dem obersten Fenster gesucht wird.
  • Die Verwaltung von Selektoren der obersten Ebene ist einfacher, falls manuelle Aktualisierungen erforderlich sind.
  • Essenziell, wenn an zwei Instanzen der gleichen Anwendung gearbeitet wird.

Bild-Automatisierung

Die Bild-Automatisierung ist der letzte Ansatz bei der Automatisierung von Anwendungen, wenn nichts anderes funktioniert, um UI-Elemente auf dem Bildschirm zu identifizieren (wie Selektoren oder Tastaturkürzel). Weil bei der Bildübereinstimmung Elemente vollständig auf dem Bildschirm sichtbar sein müssen und alle sichtbaren Details während der Laufzeit und während der Entwicklung die gleichen sein müssen, muss bei der Bild-Automatisierung besondere Sorgfalt angewendet werden, damit der Prozess zuverlässig abläuft. Wenn mehr/weniger eines Bildes ausgewählt wird als notwendig, kann dies dazu führen, dass das Bild nicht gefunden wird oder zu einer Falsch-Positiv-Übereinstimmung.

Auflösungserwägungen

Die Bildübereinstimmung hängt sehr von Umgebungsvariationen wie dem Desktop-Design oder der Bildschirmauflösung ab. Wenn die Anwendung in Citrix läuft, sollte die Auflösung größer oder gleich derjenigen sein, die beim Aufzeichnen der Workflows angewendet wurde. Andernfalls können kleine Bildabweichungen durch eine leichte Verringerung des Genauigkeitsfaktor des erfassten Bildes kompensiert werden. Überprüfen Sie, wie das Anwendungslayout sich an verschiedene Auflösungen anpasst, um die Nähe zu visuellen Elementen sicherzustellen, besonders in dem Fall von auf Koordinaten basierenden Techniken, wie der relative Klick oder der relative Scrape.

Falls die Automatisierung unterschiedliche Auflösungen unterstützt, können parallele Aufzeichnungen innerhalb einer PickBranch-Aktivität platziert werden, und der Roboter kann zwischen den beiden Übereinstimmungen auswählen.

OCR-Engines

Wenn OCR ein gutes Ergebnis für die Anwendung zurückgibt, ist die Text-Automatisierung eine gute Alternative zur Minimierung der Umgebungsbeeinflussing. Die Google Tesseract-Engine funktioniert besser für kleinere Bereiche, und Microsoft MODI für größere.

Wenn Sie die MODI-Engine in Schleifenautomatisierungen verwenden, kann dies gelegentlich zu Speicherverlusten führen. Daher wird empfpohlen, dass das Scraping mit MODI über einen separaten Workflow ausgeführt wird, unter Verwendung der Eigenschaft Isoliert (Isolated).

UI-Synchronisierung

Wenn die Anwendung sich nicht in dem Zustand befindet, in dem der Workflow annimmt, dass sie sich befindet, wird vermutlich unerwartetes Verhalten auftreten. Das erste, worauf zu achten ist, ist die Zeit, die die Anwendung braucht, um auf die Roboter-Anwendungen zu reagieren.

Mit der Eigenschaft DelayMS können Sie einige Zeit warten, bis die Anwendung reagiert. Es gibt jedoch Situationen, in denen der Zustand einer Anwendung validiert werden muss, bevor mit bestimmten Schritten in einem Prozess fortgefahren wird. Zu diesen Maßnahmen können extra Aktivitäten gehören, die vor anderen Interaktionen auf den gewünschten Anwendungszustand warten. Aktivitäten, die helfen könnten:

Hintergrund-Automatisierung

Wenn eine Automatisierung dazu gedacht ist, den Desktop mit einem menschlichen Benutzer zu teilen, müssen alle UI-Interaktionen im Hintergrund implementiert werden. Das bedeutet, dass die Automatisierung mit den UI-Elementobjekten direkt arbeiten muss und das Anwendungsfenster während des Prozesses verborgen oder minimiert werden kann.

  • Use the SimulateType, SimulateClick, and SendWindowMessagesoptions for navigation and data entry via the Click and Type Into activities.
  • Use the Set Text, Check, and Select Item activities for background data entry.
  • The Get Text, Get Full Text, and WebScraping activities are the outputs that run in the background.
  • Use the Element Exists activity to verify application state.

Aktualisiert vor 2 Jahren

UI-Automatisierung (UI Automation)


Auf API-Referenzseiten sind Änderungsvorschläge beschränkt

Sie können nur Änderungen an dem Textkörperinhalt von Markdown, aber nicht an der API-Spezifikation vorschlagen.