- Erste Schritte
- Einstellung und Konfiguration (Setup and Configuration)
- Automationsprojekte
- Über die Veröffentlichung von Automatisierungsprojekten
- Entwerfen von Automatisierungen
- Verwalten von Aktivitätspaketen
- Konfigurieren von Aktivitätsprojekteinstellungen
- Signieren von Paketen
- Governance
- Importieren von Entitäten
- Moderne Designumgebung
- Verknüpfen eines Projekts mit einer Idee im Automation Hub
- Verwenden des Data Managers
- Abhängigkeiten
- Workflow-Typen
- Kontrollfluss
- Dateivergleich
- Beste Praktiken für die Automatisierung (Automation Best Practices)
- Integration der Quellenkontrolle
- Informationen zur Versionskontrolle
- Verwalten von Projekten mit TFS
- Verwalten von Projekten mit SVN
- Workflow Diff
- Debugging
- Protokollierung
- Das Diagnose-Tool
- Workflow-Analyse
- Über die Workflow-Analyse
- ST-NMG-001 – Namenskonvention für Variablen
- ST-NMG-002 – Namenskonvention für Argumente
- ST-NMG-004 – Duplizierung des Anzeigenamens
- ST-NMG-005 – Variable überschreibt Variable
- ST-NMG-006 – Variable überschreibt Argument
- ST-NMG-008 – Variablenlänge überschritten
- ST-NMG-009: Datentabellenvariablen mit Präfix versehen
- ST-NMG-011 – Datentabellenargumente mit Präfix versehen
- ST-NMG-012 – Standardwerte für Argumente
- ST-NMG-016 – Argumentlänge überschritten
- ST-NMG-017 – Der Klassenname stimmt mit dem Standard-Namespace überein
- ST-DBP-002 – Hohe Anzahl von Argumenten
- ST-DBP-003 – Leerer Catch-Block
- ST-DBP-007 – Mehrere Flussdiagrammebenen
- ST-DPB-010 – Mehrere Instanzen von [Workflow] oder [Testfall]
- ST-DBP-020 – Nicht definierte Ausgabeeigenschaften
- ST-DBP-021 – Hartcodiertes Timeout
- ST-DBP-023 – Leerer Workflow
- ST-DBP-024 – Prüfung der Persistenzaktivität
- ST-DBP-025 – Voraussetzung für Variablenserialisierung
- ST-DBP-026 – Verwendung der Verzögerungsaktivität
- ST-DBP-027 – Bewährte Methode für Persistenz
- ST-DBP-028 – Voraussetzung für Argumentenserialisierung
- ST-USG-005 – Hartcodierte Aktivitätsargumente
- ST-USG-009 – Nicht verwendete Variablen
- ST-USG-010 – Nicht verwendete Abhängigkeiten
- ST-USG-014 – Paketbeschränkungen
- ST-USG-017 - Invalid parameter modifier
- ST-USG-020 – Minimale Protokollmeldungen
- ST-USG-024 – Nicht verwendet, gespeichert für später
- ST-USG-025 – Missbrauch gespeicherter Werte
- ST-USG-026 – Aktivitätseinschränkungen
- ST-USG-027 – Erforderliche Pakete
- ST-USG-028 – Aufruf von Dateivorlagen einschränken
- ST-USG-032 – Erforderliche Tags
- ST-USG-034 – Automation Hub-URL
- Variablen
- Argumente
- Importierte Namespaces
- Codierte Automatisierungen
- Einleitung
- Registrieren von benutzerdefinierten Diensten
- „Vor“- und „Nach“-Kontexte
- Generieren von Code
- Generieren eines codierten Testfalls aus manuellen Testfällen
- Triggerbasierte Attended-Automatisierung
- Aufzeichnung
- UI-Elemente
- Selektoren
- Objekt-Repository
- Über Object-Repository
- Erstellen eines Object-Repositorys
- Wiederverwenden von Objekten und UI-Bibliotheken
- Tool „Object Repository synchronisieren“
- Data-Scraping
- Bild- und Textautomatisierung
- Automatisierung von Citrix-Technologien
- RDP-Automatisierung
- VMware Horizon-Automatisierung
- Salesforce-Automatisierung
- SAP-Automation
- macOS UI-Automatisierung
- Das Tool ScreenScrapeJavaSupport
- Das WebDriver-Protokoll
- Erweiterungen
- Über Erweiterungen
- SetupExtensions-Tool
- „UiPathRemoteRuntime.exe“ wird nicht in der Remotesitzung ausgeführt.
- UiPath Remote Runtime blockiert das Schließen der Citrix-Sitzung
- UiPath Remote Runtime verursacht Speicherverlust
- Versionen von UiPath.UIAutomation.Activities-Paket und UiPath Remote Runtime stimmen nicht überein
- Die erforderliche UiPath-Erweiterung ist auf der Remotemaschine nicht installiert
- Einstellungen für die Bildschirmauflösung
- Gruppenrichtlinien
- Kommunikation mit Browser nicht möglich
- Die Chrome-Erweiterung wird automatisch entfernt
- Möglicherweise ist die Erweiterung beschädigt
- Überprüfen Sie, ob die Erweiterung für Chrome installiert und aktiviert ist
- Überprüfen Sie, ob ChromeNativeMessaging.exe ausgeführt wird
- Überprüfen der korrekten Definition der ComSpec-Variablen
- Aktivieren Sie den Zugriff auf Datei-URLs und den Inkognito-Modus
- Mehrere Browser-Profile
- Group Policy conflict
- Spezifische bekannte Probleme für MV3-Erweiterungen
- Liste der Erweiterungen für Chrome
- Chrome-Erweiterung für Mac
- Gruppenrichtlinien
- Kommunikation mit Browser nicht möglich
- Die Edge-Erweiterung wird automatisch entfernt
- Möglicherweise ist die Erweiterung beschädigt
- Überprüfen, ob die Erweiterung für Microsoft Edge installiert und aktiviert ist
- Überprüfen Sie, ob ChromeNativeMessaging.exe ausgeführt wird
- Überprüfen der korrekten Definition der ComSpec-Variablen
- Aktivieren des Zugriffs auf Datei-URLs und den InPrivate-Modus
- Mehrere Browser-Profile
- Group Policy conflict
- Spezifische bekannte Probleme für MV3-Erweiterungen
- Liste der Erweiterungen für Edge
- Erweiterung für Safari
- Erweiterung für VMware Horizon
- Erweiterung für Amazon WorkSpaces
- SAP Solution Manager-Plugin
- Excel-Add-in
- Test Suite – Studio
- Fehlersuche und ‑behebung
- Informationen zur Fehlerbehebung
- Microsoft App-V – Unterstützung und Einschränkungen
- Fehlerbehebung bei Internet Explorer x64
- Probleme in Microsoft Office
- Erkennen von UI-Elementen in PDF mit Zugriffsoptionen.
- Reparieren der Active Accessibility-Unterstützung
- Die Validierung großer Windows-Legacy-Projekte dauert länger als erwartet
Studio-Benutzerhandbuch
Erstellen eines Object-Repositorys
Ein Object Repository ist eine Sammlung von Elementen, die nach Anwendungen, Versionen und Bildschirmen gruppiert sind und folgende Quellen haben können:
- Lokales Projekt, d. h. das lokale Repository.
- Bibliothek, d. h. Abhängigkeiten der UI-Bibliothek zum aktuellen Projekt.
Ein Lokales Repository kann auf zwei Arten erstellt werden:
- mit dem Recorder Elemente erfassen zum Erfassen von UI-Deskriptoren.
- durch das manuelle Erstellen von Anwendungen, Bildschirmen und Elementen direkt im Bereich Object Repository.
Eine UI-Bibliothek kann erstellt werden durch:
- Extrahieren des lokalen Repositorys aus einem beliebigen Projekt in ein Bibliotheksprojekt und Veröffentlichen als NuGet-Paket.
-
Ausgehend von einer neuen Bibliothek, dem Erstellen des Repositorys dort und der Veröffentlichung als NuGet-Paket.
Anschließend können Sie die NuGet-Pakete der UI-Bibliothek verwenden und sie als Abhängigkeiten zu Ihren Prozessen hinzufügen.
Wichtig: Die Aufzeichnung Elemente erfassen zeichnet nur Objekte auf, die in Projekten wiederverwendet werden können, die Aufzeichung generiert keinen Workflow im Entwurfs-Bereich.
Klicken Sie in einer Bibliothek oder einem Prozess auf die Schaltfläche Elemente erfassen im Object-Repository, um den Capture-Elements-Recorder zu öffnen.
Klicken Sie auf Aufzeichnung starten, um mit dem Erfassen von Elementen zu beginnen. Der Recorder Elemente erfassen verwendet die Technologie Einheitliches Ziel aus der UIAutomation.Activities-Paketversion 20.10 und höher und erfasst Ziele und Anker mit einem bestimmten Genauigkeitsgrad für jeden Selektor, jedes Bild oder jeden Anker.
UI-Elemente werden zusammen mit einem Selektor, Fuzzy-Selektor und Bild erfasst, die jeweils mit einem gewissen Genauigkeitsgrad erfasst werden. Sie können nur eines oder alle dieser Zielelemente beibehalten. Dasselbe gilt für Ankerelemente, die jedem UI-Element in der Anwendung zugeordnet sind.
Im Recorder können Sie:
- Klicken Sie auf Anwendung hinzufügen oder Bildschirm hinzufügen, um eine neue Anwendung oder einen neuen Bildschirm hinzuzufügen.
- Beenden Sie die Aufzeichnung jederzeit, indem Sie auf Pause klicken. Um die Aufzeichnung fortzusetzen, klicken Sie erneut auf Aufzeichnen.
-
Aufgezeichnete Elemente verwalten:
- Aktualisieren Sie die Eigenschaften eines Bildschirms oder Elements, indem Sie ihn im linken Panel auswählen und im Panel Eigenschaften auf der rechten Seite bearbeiten.
- Ordnen Sie Elemente neu an und gruppieren Sie sie, indem Sie sie ins linke Panel ziehen und dort ablegen.
- Markieren Sie Elemente, die Sie bereits erfasst haben, um sie einfach zu identifizieren, indem Sie mit dem Mauszeiger im Fenster „Elemente erfassen“ auf ihren Namen zeigen und die Schaltfläche verwenden.
-
Während die Aufzeichnung pausiert ist:
- Entfernen Sie ein Element, indem Sie mit der rechten Maustaste darauf klicken und Löschen auswählen.
- Erstellen Sie ein neues Element als untergeordnetes Element eines Bildschirms oder Elements, indem Sie mit der rechten Maustaste auf das vorhandene Element klicken und Element erstellen auswählen.
- Klicken Sie optional auf Einstellungen und wählen Sie dann aus, ob Sie jedes Element konfigurieren oder Änderungen automatisch anwenden möchten (beide Einstellungen sind standardmäßig aktiviert).
- Klicken Sie auf Objekte in Bibliothek speichern, um die Änderungen zu speichern, schließen Sie den Recorder und kehren Sie zu Ihrem Projekt zurück.
Mit der Funktion Alle Elemente erfassen können Sie alle verfügbaren Elemente einer Anwendung erfassen, indem Sie die Computer Vision-Technologie verwenden und die Elemente dem Objekt-Repository hinzufügen. Diese Methode ist nützlich für Szenarien, in denen die Automatisierung stark von der Nutzung des Objekt-Repositorys abhängt, da Sie nicht mehr alle UI-Elemente manuell hinzufügen müssen, wodurch Zeit beim Erstellen des Prozesses eingespart wird.
- Klicken Sie im Assistenten „Elemente erfassen“ auf die Schaltfläche Alle Elemente erfassen. Sie werden aufgefordert, das Fenster mit den Elementen anzugeben, die Sie dem Objekt-Repository hinzufügen möchten. Sie können auch die linke Maustaste gedrückt halten und einen bestimmten Bereich der Zielanwendung markieren, aus dem Elemente erfasst werden sollen.
-
Die Anwendung erkennt alle Elemente und hebt sie grün hervor. Sie können die Auswahl der Elemente, die Sie dem Objekt-Repository nicht hinzufügen möchten, auch manuell aufheben. Im Fenster Scan-Assistent können Sie mit den entsprechenden Schaltflächen Alle auswählen oder die Gesamte Auswahl aufheben. Wenn Sie das Kontrollkästchen Text erfassen aktivieren, werden auch Textelemente erfasst. Nachdem Sie Ihre Auswahl getroffen haben, schließen Sie mit Erfassen den Scan-Assistenten und kehren zum Fenster Elemente erfassen zurück.
Wenn Elemente nicht identifiziert wurden, können Sie uns helfen, die Erkennung zu verbessern, indem Sie ein Bild zur Analyse an UiPath senden. Klicken Sie auf Probleme melden, wählen Sie einen Bereich mit nicht identifizierten Elementen aus und wählen Sie dann Senden aus.
Hinweis:Diese Funktion erfordert, dass Sie einen Computer Vision-Server für die Verwendung konfiguriert haben. Dafür stehen Ihnen mehrere Methoden zur Verfügung:
- Verwenden des cloudbasierten Computer Vision-Servers
- Verwenden eines lokalen Computer Vision-Servers
Nachdem Sie Ihren bevorzugten Servertyp ausgewählt haben, müssen Sie ihn für die Verwendung im aktuellen Projekt auswählen, indem Sie die Server- und Apikey - Projekteinstellungenbearbeiten.
Anwendungen, Bildschirme und Elemente sollten in der Aufzeichnung Elemente erfassen beschreibende Namen erhalten, damit sie im Object-Repository leicht erkennbar sind.
Ein Selektor in einer Anwendung kann eine Schaltfläche, ein Kontrollkästchen, ein Textfeld, ein Umschalter, ein Listenfeld oder jede Art von Element darstellen, das mit dem Roboter interagieren kann. Das erfasste Element kann innerhalb der Aufzeichnung Elemente erfassen definiert werden.
Suchen Sie in der Dropdown-Liste Typ den für das jeweilige Element geeigneten Typ, und wählen Sie ihn aus. Im Object Repository erhält das Element ein typspezifisches Symbol, das die Unterscheidung der Objekte erleichtert.
Klicken Sie nach dem Erfassen von Elementen auf die Schaltfläche Objekte in Bibliothek speichern, und die Objekte werden dem Object-Repository hinzugefügt. Zum Hinzufügen weiterer Elemente klicken Sie mit der rechten Maustaste auf einen Bildschirm oder ein Element im Repository, und wählen Sie Element erstellen aus. Um weitere Bildschirme hinzuzufügen, klicken Sie mit der rechten Maustaste auf die Anwendung und wählen Sie Bildschirm erstellen aus.
Wenn Sie den Recorder vor dem Erfassen aller gewünschten Elemente beendet haben, oder Elemente mithilfe von Capture Elements für eine Anwendung oder einen Bildschirm hinzufügen oder ändern möchten, die/der bereits dem Object-Repository hinzugefügt wurde, können Sie den Recorder jederzeit im Kontext dieser Anwendung oder des Bildschirms starten:
-
Klicken Sie mit der rechten Maustaste unter UI-Deskriptoren des Projekts auf eine beliebige Anwendung oder einen Bildschirm und wählen Sie dann Elemente erfassen aus. Dadurch wird das Fenster „Elemente erfassen“ im Kontext dieser Anwendung oder des Bildschirms geöffnet:
- Wenn Sie eine Anwendung ausgewählt haben, werden alle Bildschirme und Elemente unter dieser Anwendung in Capture Elements vorab ausgefüllt.
- Wenn Sie einen Bildschirm ausgewählt haben, werden alle Elemente unter diesem Bildschirm in Capture Elements vorab ausgefüllt.
- Aktualisieren Sie die Bildschirme und Elemente nach Bedarf. Sie können neue Bildschirme hinzufügen, mit der Aufzeichnung beginnen, um neue Elemente hinzuzufügen, und vorhandene Bildschirme oder Elemente bearbeiten oder löschen. Wenn Sie Änderungen an vorhandenen Bildschirmen und Elementen vornehmen, werden die Änderungen beim Speichern auf die Deskriptoren im Object-Repository angewendet.
- Klicken Sie auf Objekte in Bibliothek speichern, um die Änderungen zu speichern, schließen Sie den Recorder und kehren Sie zu Ihrem Projekt zurück.
Sie können Ihr eigenes Repository im Bereich Object-Repository erstellen, indem Sie die Anwendung, jeden Bildschirm und jedes Element manuell definieren.
Klicken Sie im Bereich Object-Repository auf der Registerkarte Deskriptoren auf das Pluszeichen, oder klicken Sie auf derselben Registerkarte mit der rechten Maustaste auf Projektbeschreibungen, und wählen Sie Anwendung erstellen aus. Das Fenster Anwendung erstellen wird geöffnet:
Fügen Sie einen eindeutigen Anwendungsnamen, eine Version und eine Beschreibung hinzu. Klicken Sie auf Anwendung erstellen. Ihre Anwendung ist auf der Registerkarte Deskriptoren unter Projekt-UI-Deskriptoren sichtbar.
Wählen Sie auf der Registerkarte Deskriptoren Ihre Anwendung aus, klicken Sie auf das Pluszeichen, oder klicken Sie mit der rechten Maustaste auf Ihre Anwendung, und wählen Sie Bildschirm erstellen aus. Das Fenster Bildschirm hinzufügen wird geöffnet:
Fügen Sie einen eindeutigen Namen für den Bildschirm und eine Beschreibung hinzu. Geben Sie den Bildschirm an, den Sie automatisieren möchten, und bearbeiten Sie das erfasste Element mit „Einheitliches Ziel“:
- ändern Sie bei Bedarf den Anwendungspfad.
-
Anwendungsargumente hinzufügen
Wenn der Vorgang abgeschlossen ist, klicken Sie auf Bildschirm erstellen.
Wählen Sie auf der Registerkarte Deskriptoren Ihren Anwendungsbildschirm aus, klicken Sie auf das Pluszeichen, oder klicken Sie mit der rechten Maustaste auf den Bildschirm und wählen Sie Element erstellen. Das Fenster Element hinzufügen wird geöffnet:
Klicken Sie im Abschnitt Deskriptortyp auf Element anzeigen, um „Einheitliches Ziel“ zum Anzeigen und Erfassen des Elements auf dem Bildschirm zu verwenden.
Fügen Sie im Feld Elementname einen intuitiven Namen hinzu, und wählen Sie den Typ des Elements in der Dropdownliste unter Typ aus. Klicken Sie auf Speichern, wenn Sie fertig sind.
- Um ein Element aus dem Object Repository zu bearbeiten, klicken Sie mit der rechten Maustaste darauf, und wählen Sie dann Element bearbeitenaus oder doppelklicken Sie auf das Element in der Struktur.
- Um die Beschreibung eines Elements zu bearbeiten, verwenden Sie die Option Deskriptor bearbeiten aus dem Fenster Element bearbeiten oder klicken Sie mit der rechten Maustaste auf das Element in der Struktur, und wählen Sie dann Deskriptor bearbeiten aus.
Wenn das Object Repository in Ihrer Instanz von Studio erzwungen wird (wie in der Anleitung auf der Seite Über Object Repository beschrieben), verweisen die generierten Aktivitäten bei der Verwendung der App-/Web-Aufzeichnung nicht automatisch auf Deskriptoren aus dem Repository.
Auf der Ebene der Aktivitäten werden Sie in einem informativen Tooltip darüber informiert, dem Object Repository Deskriptoren hinzuzufügen oder vorhandene zu verwenden.
Klicken Sie dazu auf das Symbol innerhalb der Aktivität und führen Sie die Schritte zum Hinzufügen oder Wiederverwenden von Deskriptoren aus, oder wählen Sie Optionen > Zum Object Repository hinzufügen aus, um das Element zum Object Repository hinzuzufügen.
Nachdem Sie ein Object-Repository erstellt haben, können Sie weitere UI-Elemente direkt im Entwurfsbereich hinzufügen.
Fügen Sie im Entwurfsbereich eine Aktivität hinzu, die Selektoren unterstützt, z. B. Click oder Type Into. Stellen Sie sicher, dass sich die hinzugefügte Aktivität innerhalb einer Aktivität vom Typ Anwendung/Browser verwenden befindet.
Klicken Sie im Text der Aktivität auf das Object-Repository-Symbol, um das Fenster Auswahloptionen zu öffnen. Erfassen Sie das Element, wählen Sie Bestätigen aus, und das Fenster Element zu Object-Repository hinzufügen wird geöffnet. Fügen Sie dem Element einen Namen hinzu, und klicken Sie auf Speichern. Beachten Sie, dass das Element dem Bereich Object-Repository hinzugefügt wird.
Ziehen Sie aus dem Objekt-Repository einen Bildschirm oder ein Element auf eine Aktivität in Ihrem Workflow und legen sie ihn/es darauf ab. Das Bild des Objekts, die Argumente und andere Details werden automatisch zur Aktivität hinzugefügt. Wenn eine Aktivität einen Bildschirm oder ein Element aus dem Objekt-Repository verwendet, wird beim Klicken auf das Objekt-Repository-Symbol in der Aktivität der Deskriptor, den sie in der Objekt-Repository-Struktur verwendet, hervorgehoben.
MyAppScreen
über die Aktivität Use Application/Browser gezogen. Der Anwendungspfad wurde der Aktivität automatisch hinzugefügt.
Alternativ können Sie ein Object auf das Pluszeichen innerhalb des Workflows ziehen und ablegen. Wenn Sie einen Bildschirm ziehen und ablegen, wird automatisch eine „Use Application/Browser“-Aktivität hinzugefügt. Wenn Sie ein Element ziehen und ablegen, wird eine Liste mit kompatiblen Aktivitäten angezeigt. Wählen Sie die gewünschte Aktivität aus und das Object wird automatisch hinzugefügt. Innerhalb des Prozesses erhält die Aktivität die folgende Bezeichnung: Aktivitätsname + Objektname. Nachdem das Objekt hinzugefügt wurde, erhält die Aktivität die Deskriptoreigenschaften aus dem Object-Repository, die im Eigenschaften-Panel der Aktivität sichtbar sind.
- Zum Angeben oder Bearbeiten des Deskriptors aus der Aktivität wählen Sie Optionen aus und geben dann das Ziel auf dem Bildschirm an oder bearbeiten Sie das Ziel. Es wird ein Dialogfeld angezeigt, in dem Sie darüber informiert werden, dass die Aktion auf dem Deskriptor im Object-Repository ausgeführt wird. Bestätigen Sie Ihre Auswahl, indem Sie Deskriptor anzeigen bzw. Deskriptor bearbeiten auswählen.
-
Um nur den Deskriptor für die aktuelle Aktivität anzugeben oder zu bearbeiten, müssen Sie zuerst die Verknüpfung zwischen der Aktivität und dem Object Repository entfernen, indem Sie Optionen auswählen und dann die Verknüpfung vom Object Repository aufheben. Hinweis: Wenn das Object Repository erzwungen wird, wird das Ziel durch das Aufheben der Verknüpfung aus der Aktivität entfernt.
Nachdem dem Workflow Objekte hinzugefügt wurden, werden auf der Registerkarte UI-Aktivitäten im Bereich Object-Repository die Aktivitäten und die darin enthaltenen Objekte in einer hierarchischen Reihenfolge angezeigt. Wenn sie nicht angezeigt werden, speichern Sie das Projekt und überprüfen Sie es erneut.
Die Workflows sind markiert:
- mit einem grauen Punkt, wenn mindestens 1 Aktivität aus der Workflowdatei auf einen UI-Deskriptor aus dem Panel „Objekte“ verweist.
- Mit einem blauen Punkt, wenn alle Aktivitäten aus dem Workflow auf einen UI-Deskriptor aus dem Panel „Objekte“ verweisen.
Die UI-Aktivitäten sind markiert:
- mit einem leeren Punkt, wenn die Aktivität nicht auf einen UI-Deskriptor aus dem Objektbedienfeld verweist.
- mit einem blauen Punkt, wenn sie auf einen UI-Deskriptor aus dem Objektbedienfeld verweist.
- Aufrufen von UI-Elementen als Zeichenfolgen.
- Mithilfe von
IElementDescriptors
aus dem Object-Repository.
1. Aufrufen von UI-Elementen als Zeichenfolgen
- Erstellen Sie für dieses Beispiel eine Anwendung im Object-Repository Ihres Projekts namens
MyApplication
.- Erstellen Sie einen Bildschirm für die Anwendung mit dem Namen
MainScreen
. - Erstellen Sie ein Element mit dem Namen
HomePageIcon
.
- Erstellen Sie einen Bildschirm für die Anwendung mit dem Namen
- Erstellen Sie eine Variable für den Bildschirm.
- Verwenden Sie „Open“-API, um den Bildschirm mit dem folgenden Code zu öffnen:
var screen = uiAutomation.Open("MainScreen");
var screen = uiAutomation.Open("MainScreen");Um denObjectRepository
-Namespace und dieDescriptors
zu finden, drücken SieCTRL + space
auf der Tastatur. - Verwenden Sie die „Click“-API für das UI-Element mit dem folgenden Code:
screen.Click("HomePageIcon");
screen.Click("HomePageIcon");
2. Aufrufen von UI-Elementen als IElementDescriptors
IElementDescriptors
: ObjectRepository.Descriptors.<ApplicationName>.<ScreenName>.<UiElementName>
. Dabei ist ObjectRepository
ein Namespace, der die Descriptors
-Klasse integriert. Die Descriptors
-Klasse enthält außerdem alle UI-Elemente, die Sie im Object-Repository erfasst haben.
Object
nicht als Namen Ihrer Anwendung im Object-Repository zu verwenden.
- Erstellen Sie für dieses Beispiel eine Anwendung im Object-Repository Ihres Projekts namens
MyApplication
.- Erstellen Sie einen Bildschirm für die Anwendung mit dem Namen
MainScreen
. - Erstellen Sie ein Element mit dem Namen
HomePageIcon
.
- Erstellen Sie einen Bildschirm für die Anwendung mit dem Namen
- Um die Lesbarkeit zu verbessern, können Sie Ihre Anwendung als Variable definieren, indem Sie eine
using
-Anweisung zu Beginn Ihres Workflows anwenden. Hier ist ein Beispiel:using app = <ProjectName>.ObjectRepository.Descriptors.<AppName>
.Mit diesem Ansatz können Sie Deskriptoren einfach im folgenden Format aufrufen:app.<ScreenName>.<UiElementName>
- Erstellen Sie eine Variable für den Bildschirm.
- Verwenden Sie „Open“-API, um den Bildschirm mit dem folgenden Code zu öffnen:
var screen = uiAutomation.Open(ObjectRepository.Descriptors.MyApplication.MainScreen);
var screen = uiAutomation.Open(ObjectRepository.Descriptors.MyApplication.MainScreen);Um denObjectRepository
-Namespace und dieDescriptors
zu finden, drücken SieCTRL + space
auf der Tastatur. - Verwenden Sie die „Click“-API für das UI-Element mit dem folgenden Code:
screen.Click(ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
screen.Click(ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
- Wenn Sie Object Repository-Elemente aus einem importierten Bibliotheksprojekt verwenden möchten, führen Sie die folgenden Schritte durch:
- Erstellen Sie in dem Projekt, aus dem Sie die Bibliothek exportiert haben, einen neuen codierten Testfall oder eine codierte Workflowdatei.
- Aktualisieren Sie das Paket
UiPath.CodedWorkflows
auf die neueste Version. - Verweisen Sie in der Datei, in der Sie die importierten Object Repository-Elemente verwenden möchten, auf das Projekt, aus dem Sie die Elemente im Abschnitt „Namespaces“ exportiert haben, und verwenden Sie das folgende Format:
<ProjectName> = <LibraryName>.ObjectRepository.Descriptors
. - Rufen Sie bei Verwendung von APIs wie „Click“ oder „Open“ die UI-Elemente mit dem folgenden Format auf:
screen.Click(<LibraryName>.ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
screen.Click(<LibraryName>.ObjectRepository.Descriptors.MyApplication.MainScreen.HomePageIcon);
Bei der Arbeit mit Mobile Automation-APIs gibt es zwei Hauptmethoden für den Zugriff auf UI-Elemente über das Object-Repository:
- Verwenden von
IScreenDescriptors
undIElementDescriptors
aus demObjectRepository
-Namespace und derDescriptors
-Klasse. - Verwenden von Pfaden relativ zum Bildschirm im Object-Repository. Wenn Sie mehr als eine Anwendung oder mehr als einen Bildschirm haben, müssen Sie diese im Methodenaufruf angeben.
1. Verwenden von IElementDescriptors aus der Deskriptoren-Klasse
IElementDescriptors
: ObjectRepository.Descriptors.<ApplicationName>.<ScreenName>.<UiElementName>
. Dabei ist ObjectRepository
ein Namespace, der die Descriptors
-Klasse integriert. Die Descriptors
-Klasse enthält außerdem alle UI-Elemente, die Sie im Object-Repository erfasst haben.
Object
nicht als Namen Ihrer Anwendung im Object-Repository zu verwenden.
- Erstellen Sie für dieses Beispiel eine Anwendung im Object-Repository Ihres Projekts namens
MyApplication
.- Erstellen Sie einen Bildschirm für die Anwendung mit dem Namen
HomeScreen
. - Erstellen Sie ein Element mit dem Namen
ParentElement
. - Erstellen Sie unterhalb des
ParentElement
das Element mit dem NamenChildElement
.
- Erstellen Sie einen Bildschirm für die Anwendung mit dem Namen
- Um die Lesbarkeit zu verbessern, können Sie Ihre Anwendung als Variable definieren, indem Sie eine
using
-Anweisung zu Beginn Ihres Workflows anwenden. Hier ist ein Beispiel:using app = <ProjectName>.ObjectRepository.Descriptors.<AppName>
.Mit diesem Ansatz können Sie Deskriptoren einfach im folgenden Format aufrufen:app.<ScreenName>.<UiElementName>
- Stellen Sie eine Verbindung zwischen dem Mobilgerät und der im Object-Repository aufgezeichneten Anwendung her.
- Rufen Sie die Tap-API für die Verbindung auf, um auf das
ChildElement
-Element zu klicken, indem Sie den folgenden Code verwenden:connection.Tap(Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);
connection.Tap(Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);Um denObjectRepository
-Namespace und die KlasseDescriptors
zu finden, drücken SieCTRL + space
auf der Tastatur. - Verwenden Sie die GetAttribute-API auf dem
ParentElement
mit dem folgenden Code:var isChecked = connection.GetAttribute(Descriptors.MyApplication.HomeScreen.ParentElement, Attributes.Android.CHECKED);
var isChecked = connection.GetAttribute(Descriptors.MyApplication.HomeScreen.ParentElement, Attributes.Android.CHECKED); - Wenn Sie Object Repository-Elemente aus einem importierten Bibliotheksprojekt verwenden möchten, führen Sie die folgenden Schritte durch:
- Erstellen Sie in dem Projekt, aus dem Sie die Bibliothek exportiert haben, einen neuen codierten Testfall oder eine codierte Workflowdatei.
- Aktualisieren Sie das Paket
UiPath.CodedWorkflows
auf die neueste Version. - Verweisen Sie in der Datei, in der Sie die importierten Object Repository-Elemente verwenden möchten, auf das Projekt, aus dem Sie die Elemente im Abschnitt „Namespaces“ exportiert haben, und verwenden Sie das folgende Format:
<ProjectName> = <LibraryName>.ObjectRepository.Descriptors
. - Rufen Sie bei der Verwendung von APIs die UI-Elemente mit dem folgenden Format auf:
connection.Tap(<LibraryName>.ObjectRepository.Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);
connection.Tap(<LibraryName>.ObjectRepository.Descriptors.MyApplication.HomeScreen.ParentElement.ChildElement);
2. Verwenden von Pfaden relativ zum Bildschirm im Object-Repository
Strings
verwenden, um auf Object Repository-Elemente zuzugreifen. Pfade sind Zeichenfolgendarstellungen der Elementhierarchie auf dem mobilen Bildschirm. Sie können auch auf alle Deskriptoren zugreifen, auch wenn sich ihre Namen im Repository wiederholen, da Sie die Zielanwendung und den Bildschirm für jedes Element angeben können.
MobileTarget.FromObjectRepository
erstellt, der den Pfad des UI-Elements relativ zum verwendeten Bildschirm und zur verwendeten App aufnimmt. Der Rückgabewert dieses Konstruktors ist ObjectRepositoryTarget
.
Es gibt zwei Möglichkeiten, den Pfad des UI-Elements im Object-Repository anzugeben:
- Verwenden Sie
Strings
, angeordnet als übergeordnete-untergeordnete Beziehungen in einem Format wie „parentOfparent///parent///Child“.Siehe zum Beispiel den folgenden Code, der auf ein mobiles Zielelement namensChildElement
zugreift, das ein untergeordnetes Element vonParentElement
ist und sich auf dem aktuellen Bildschirm der aktuellen App befindet.connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChilElement"));
connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChilElement"));Nehmen Sie dasselbe Beispiel, aber dieses Mal tippt der Code auf dasselbeCheckedOnlyCheckBox
-Element, aber jetzt auf einem anderen Bildschirm (anotherScreen
) in einer anderen App (anotherApp
).connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChildElement", "anotherApp", "anotherScreen");
connection.Tap(MobileTarget.FromObjectRepository("ParentElement///ChildElement", "anotherApp", "anotherScreen"); - Verwenden Sie einen Array von
Strings
, die als übergeordnete-untergeordnete Beziehungen in einem Format wie ["parentOfParent", "parent", "child"] angeordnet sind.Sehen Sie sich beispielsweise den folgenden Code an, der auf dasselbe UI-Element tippt, aber den Pfad in separate Zeichenfolgen eingibt, die innerhalb eines Arrays angeordnet sind.connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}));
connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}));Das gleiche Beispiel kann verwendet werden, wenn Sie einen anderen Bildschirm oder eine andere App für den Methodenaufruf angeben möchten.connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}, "anotherApp", "anotherScreen"));
connection.Tap(MobileTarget.FromObjectRepository(new string[]{"ParentElement", "ChildElement"}, "anotherApp", "anotherScreen"));
Deskriptoren können im Object-Repository in zwei Szenarien bearbeitet werden, die wir als „Online-“ und „Offlinebearbeitung“ bezeichnen:
- Onlinebearbeitung: Der Zugriff auf die Anwendung oder den Browser ist auf der aktuellen Maschine möglich. Die App/der Browser wird auf dem Bildschirm angezeigt, sodass Elemente erneut ausgewählt oder geändert werden können.
-
Offlinebearbeitung: Der Zugriff auf die Anwendung oder den Browser ist auf der aktuellen Maschine nicht möglich. Entweder ist die App nicht installiert, oder die Maschine ist offline. Die Selektoren des Elements werden sichtbar gemacht, sodass Änderungen vorgenommen werden können.
Hinweis: Sowohl Selektoren als auch Fuzzy-Selektoren in Ihren Deskriptoren können direkt im UIExplorer über die Schaltfläche bearbeitet werden.
Klicken Sie auf der Registerkarte Deskriptoren mit der rechten Maustaste auf ein Element, und wählen Sie Deskriptor bearbeiten aus. Der Auswahlbildschirm wird geöffnet und ermöglicht Ihnen, ein anderes Element zu erfassen und Selektoren sowie Anker zu bearbeiten.
Dasselbe kann durch Klicken auf die Schaltfläche Deskriptor bearbeiten innerhalb des Fensters Element bearbeiten erreicht werden.
Hier gelten die gleichen Schritte wie bei der Online-Bearbeitung. Klicken Sie auf der Registerkarte Deskriptoren mit der rechten Maustaste auf ein Element und wählen Sie Deskriptor bearbeiten aus.
Die Offlinebearbeitung bietet die Möglichkeit, Änderungen direkt an den Deskriptoreinstellungen von Elementen vorzunehmen. Sie können jedoch keine neuen Elemente angeben. Stellen Sie dazu sicher, dass die Anwendung/der Browser im richtigen Zustand geöffnet ist.
Um einen Bildschirmdeskriptor zu bearbeiten, klicken Sie auf der Registerkarte Deskriptoren mit der rechten Maustaste auf den Bildschirm und wählen Sie Deskriptor bearbeiten aus. Das Fenster „Bildschirm bearbeiten“ wird angezeigt.
Sie können den Anwendungspfad oder die Browser-URL, die Anwendungsargumente und den Fensterselektor bearbeiten, und auswählen, ob nur Anwendungen mit einem genau übereinstimmenden Titel in der Automatisierung verwendet werden können. Die Felder „Anwendungspfad“, „Browser-URL“ und „Anwendungsargumente“ unterstützen Ausdrücke, Variablen und Argumente.
Wenn Sie einen Bildschirm oder ein UI-Element angeben, auf das im Object-Repository bereits unter den UI-Deskriptoren oder Bibliotheken des Projekts verwiesen wird, wird die Übereinstimmung automatisch erkannt, und das folgende Fenster wird angezeigt:
Die folgenden Optionen sind verfügbar:
- Wiederverwenden: der übereinstimmende Deskriptor aus dem Object Repository wird der aktuellen Aktivität hinzugefügt.
- Neu erstellen: das Optionsfenster zum Erstellen eines neuen Bildschirms/Elements oder zum Aktualisieren eines vorhandenen Bildschirms im Object Repository wird geöffnet.
- Abbrechen: Der aktuell angezeigte Selektor innerhalb der Aktivität wird beibehalten, ohne Änderungen an Objekten im Repository vorzunehmen.
Anzeigen, dass ein Bildschirm nach einem entsprechenden UI-Deskriptor sucht, während ein Zielelement nach einem übereinstimmenden UI-Deskriptor sucht. Bei Verwendung von Recorder werden entsprechende Übereinstimmungen für Bildschirm und Elemente in der lokalen UI-Bibliothek über Projekt-UI-Deskriptoren oder die importierten Abhängigkeiten aus UI-Bibliotheken durchsucht.
Um ihren Grad der Wiederverwendbarkeit zu erhöhen, können Sie Variablen in Deskriptoren verwenden.
Sie können ein Ziel bearbeiten, Variablen hinzufügen und es dann dem Object Repository hinzufügen, oder Sie können Variablen zu Selektoren in vorhandenen Bildschirmen oder Elementen aus dem Object Repository hinzufügen. Wenn Sie einen Deskriptor hinzufügen, der eine Variable zu einem Prozess enthält, stellen Sie sicher, dass die Variable im Prozess erstellt wird, da der Ausdruck andernfalls nicht gelesen werden kann.
Um einer Deskriptorauswahl eine Variable hinzuzufügen, klicken Sie mit der rechten Maustaste auf das Element im Object Repository, wählen Sie dann Deskriptor bearbeiten aus und fügen Sie die Variable im Fenster Auswahloptionen hinzu.
<name='{{VarNumber}}'/>
beispielsweise den Wert der Variablen VarNumber
zum name
Attribut im Selektor hinzu.
Im folgenden Beispiel haben wir eine Variable im Feld Browser-URL der Aktivität Use Application/Browser verwendet und dann das Ziel als Bildschirmobjekt zum Object Repository hinzugefügt. Auf diese Weise stellen wir sicher, dass der Deskriptor Fälle berücksichtigt, in denen sich die URL ändert.
Klicken Sie im Bereich Object-Repository mit der rechten Maustaste auf einen Bildschirm oder ein Element, und wählen Sie Hervorheben aus, um Elemente innerhalb der Anwendung hervorzuheben, vorausgesetzt, dass die App auf der Maschine gestartet oder die Webseite im Browser geöffnet wird.
- Erstellen eines Repositorys durch Erfassen von Elementen
- Erfassen aller Elemente
- Deskriptoreigenschaften
- Elementtypen
- Verwenden von Capture Elements für vorhandene Anwendungen und Bildschirme
- Erstellen eines Repositorys im Bereich „Object-Repository“
- UI-Anwendung erstellen
- Bildschirm erstellen
- Erstellen eines UI-Elements
- Verwenden des Object Repository mit Recordern
- Hinzufügen von Elementen aus Aktivitäten zu einem Repository
- Verwenden von Objekten im aktuellen Projekt
- Verwenden von Objekten in codierten Automatisierungen mit UIAutomation
- Verwenden des Objekts in codierten Automatisierungen mit Mobile Automation
- Deskriptoren bearbeiten
- Elementdeskriptoren
- Onlinebearbeitung
- Offlinebearbeitung
- Bildschirmdeskriptoren
- Auflösen von UI-Deskriptoren
- Variablen in Deskriptoren
- Elemente hervorheben