- Überblick
- UI-Automatisierung (UI Automation)
- Mit UI-Automatisierung automatisierte Anwendungen und Technologien
- Projektkompatibilität
- UI-ANA-016 – URL zum Öffnen eines Browsers abrufen
- UI-ANA-017 – ContinueOnError True
- UI-ANA-018 – OCR-/Bildaktivitäten auflisten
- UI-DBP-006 – Containernutzung
- UI-DBP-013 – Falscher Gebrauch von Excel-Automatisierung
- UI-DBP-030 – Verwendung unzulässiger Variablen in Selektoren
- UI-PRR-001 – Klick simulieren
- UI-PRR-002 – Typ simulieren
- UI-PRR-003 – Offener Anwendungsmissbrauch
- UI-PRR-004 – Hartcodierte Verzögerungen
- UI-REL-001 – Große IDX in Selektoren
- UI-SEC-004 – Selektor-E-Mail-Daten
- UI-SEC-010 – App-/URL-Einschränkungen
- UI-USG-011 – Nicht zulässige Attribute
- UX-SEC-010 – App-/URL-Einschränkungen
- UX-DBP-029 – Unsichere Kennwortnutzung
- UI-PST-001 – Prüfungsprotokollebene in Projekteinstellungen
- UiPath-Browsermigrationstool
- Clippingbereich
- Computer Vision Recorder
- Aktivitätenindex
- Aktivieren (Activate)
- Ankerbasis (Anchor Base)
- Browser anhängen (Attach Browser)
- Fenster anhängen (Attach Window)
- Benutzeingabe blockieren (Block User Input)
- Textfeld (Callout)
- Prüfen (Check)
- Klicken (Click)
- Bild anklicken (Click Image)
- Bild-Trigger anklicken (Click Image Trigger)
- OCR-Text anklicken (Click OCR Text)
- Text anklicken (Click Text)
- Trigger anklicken (Click Trigger)
- Anwendung schließen (Close Application)
- Registerkarte schließen (Close Tab)
- Fenster schließen (Close Window)
- Kontextbewusster Anker
- Ausgewählten Text kopieren (Copy Selected Text)
- Element Attribute Change Trigger
- Element vorhanden (Element Exists)
- Elementumfang (Element Scope)
- Element State Change Trigger
- Export UI Tree
- Strukturierte Daten extrahieren (Extract Structured Data)
- Untergeordnete Elemente finden (Find Children)
- Element finden (Find Element)
- Bild finden (Find Image)
- Bildübereinstimmung finden (Find Image Matches)
- OCR-Textposition finden (Find OCR Text Position)
- Relatives Element finden (Find Relative Element)
- Textposition finden (Find Text Position)
- Aktives Fenster abrufen (Get Active Window)
- Vorgänger-Element erhalten (Get Ancestor)
- Attribut erhalten (Get Attribute)
- Ereignisinfo erhalten (Get Event Info)
- Aus Zwischenablage erhalten (Get From Clipboard)
- Volltext erhalten (Get Full Text)
- OCR-Text erhalten (Get OCR Text)
- Passwort erhalten (Get Password)
- Position erhalten (Get Position)
- Quellelement erhalten (Get Source Element)
- Text erhalten (Get Text)
- Sichtbaren Text erhalten (Get Visible Text)
- Zurück (Go Back)
- Weiter (Go Forward)
- Zur Startseite (Go Home)
- Google Cloud Vision OCR
- Fenster ausblenden (Hide Window)
- Markieren (Highlight)
- Hotkey-Trigger (Hotkey Trigger)
- Darauf zeigen (Hover)
- Auf Bild zeigen (Hover Image)
- Auf OCR-Text zeigen (Hover OCR Text)
- Text beim Darauf zeigen (Hover Text)
- Bild vorhanden (Image Exists)
- Auf Bildschirm anzeigen (Indicate On Screen)
- .NET-Code einfügen
- Inject Js Script
- ActiveX-Methode aufrufen
- Tastendruck-Trigger (Key Press Trigger)
- Bild laden (Load Image)
- Fenster maximieren (Maximize Window)
- Microsoft Azure ComputerVision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- Fenster minimieren (Minimize Window)
- Ereignisse überwachen (Monitor Events)
- Maus-Trigger (Mouse Trigger)
- Fenster verschieben (Move Window)
- Navigieren zu (Navigate To)
- OCR-Text vorhanden (OCR Text Exists)
- Auf Element erscheinen (On Element Appear)
- Auf Element verschwinden (On Element Vanish)
- Auf Bild erscheinen (On Image Appear)
- Auf Bild verschwinden (On Image Vanish)
- Anwendung öffnen (Open Application)
- Browser öffnen (Open Browser)
- Browser aktualisieren (Refresh Browser)
- Benutzerereignis wiedergeben (Replay User Event)
- Fenster wiederherstellen (Restore Window)
- Bild speichern (Save Image)
- Objekt auswählen (Select Item)
- Mehrere Objekte auswählen (Select Multiple Items)
- Hotkey senden (Send Hotkey)
- Ausschneidebereich einstellen (Set Clipping Region)
- Fokus legen auf (Set Focus)
- Text einstellen (Set Text)
- Auf Zwischenablage setzen (Set To Clipboard)
- Web-Attribut setzen (Set Web Attribute)
- Fenster anzeigen (Show Window)
- Prozess starten (Start Process)
- System-Trigger (System Trigger)
- Screenshot anfertigen (Take Screenshot)
- Tesseract OCR
- Text vorhanden (Text Exists)
- Tooltip
- Eingeben in (Type Into)
- Sicheren Text eingeben (Type Secure Text)
- Vordergrund verwenden
- Attribut abwarten (Wait Attribute)
- Warten, bis Element verschwindet (Wait Element Vanish)
- Warten, bis Bild verschwindet (Wait Image Vanish)
- Application event trigger
- Check/Uncheck
- Check App State
- Check Element
- Klicken (Click)
- Click Event Trigger
- Ziehen und Ablegen
- Extract Table Data
- For Each UI Element
- Attribut erhalten (Get Attribute)
- Attribut abrufen (generisch)
- Get Browser Data
- Text erhalten (Get Text)
- Get URL
- Zu URL wechseln
- Markieren (Highlight)
- Darauf zeigen (Hover)
- Inject Js Script
- Tastenkombinationen
- Keypress Event Trigger
- Mouse Scroll
- Navigate Browser
- Objekt auswählen (Select Item)
- Set Browser Data
- Set Runtime Browser
- Text einstellen (Set Text)
- Screenshot anfertigen (Take Screenshot)
- Eingeben in (Type Into)
- Use Application/Browser
- Anhängen
- Prüfen (Check)
- Klicken (Click)
- Ziehen und Ablegen
- Daten extrahieren
- Attribut erhalten (Get Attribute)
- GetChildren
- GetRuntimeTarget
- GetText
- Get URL
- GoToUrl
- Markieren (Highlight)
- Darauf zeigen (Hover)
- IsEnabled
- Tastaturkürzel (Keyboard Shortcut)
- Mouse Scroll
- Offen
- Objekt auswählen (Select Item)
- Screenshot anfertigen (Take Screenshot)
- Eingeben in (Type Into)
- Wartestatus
- Führen Sie eine Browsersuche durch und rufen Sie Ergebnisse mithilfe von UIAutomation-APIs ab
- Web-Browsing
- Finden von Bildern
- Klicken auf Bilder
- Auslösen und Überwachen von Ereignissen
- Erstellen und Überschreiben von Dateien
- HTML-Seiten: Extrahieren und Bearbeiten von Informationen
- Bearbeiten von Fenstern
- Automatisierte Listenauswahl
- Finden und Bearbeiten von Fensterelementen
- Verwalten der Textautomatisierung
- Laden und Verarbeiten von Bildern
- Verwalten von mausaktivierten Aktionen
- Automatisieren der Anwendungslaufzeit
- Automatisierte Ausführung einer lokalen Anwendung
- Browsernavigation
- Web-Automatisierung
- Beispiel für Trigger Scope
- Aktivieren der Unterstützung für die UI-Automatisierung in DevExpress
- Computer Vision Local Server
- Mobile Automation
- Versionshinweise
- About the mobile device automation architecture
- Projektkompatibilität
- Get Log Types
- Get Logs
- Get Page Source
- Get Device Orientation
- Get Session Identifier
- Install App
- Manage Current App
- Manage Other App
- DeepLink öffnen
- Open URL
- Mobile Device Connection
- Richtungswechsel
- Muster zeichnen
- Positional Swipe
- Press Hardware Button
- Set Device Orientation
- Screenshot anfertigen (Take Screenshot)
- Take Screenshot Part
- Element vorhanden (Element Exists)
- Execute Command
- Attribut erhalten (Get Attribute)
- Get Selected Item
- Text erhalten (Get Text)
- Set Selected Item
- Text einstellen (Set Text)
- Wischen
- Tap
- Type Text
- Terminal
- Versionshinweise
- Über das Terminal-Aktivitätspaket
- Projektkompatibilität
- Best Practices
- Find Text
- Get Color At Position
- Get Cursor Position
- Feld erhalten (Get Field)
- Feld an Position erhalten (Get Field at Position)
- Bildschirmbereich erhalten (Get Screen Area)
- Text erhalten (Get Text)
- Text an Position erhalten (Get Text at Position)
- Cursor bewegen (Move Cursor)
- Move Cursor to Text
- Strg-Taste senden (Send Control Key)
- Tasten senden (Send Keys)
- Sichere Tasten senden (Send Keys Secure)
- Feld setzen (Set Field)
- Feld an Position setzen (Set Field at Position)
- Terminalsitzung (Terminal Session)
- Warte auf Feldtext (Wait Field Text)
- Warte auf Bildschirmtext (Wait Screen Text)
- Warte auf Text an Position (Wait Text at Position)

UIAutomation-Aktivitäten
Problembehandlungsszenarien
Wenn Probleme auftreten, sollten Sie die folgenden Szenarien zur Fehlerbehebung in Betracht ziehen:
In den folgenden Themen werden die Probleme und die entsprechenden Lösungen für die Automatisierung mobiler Geräte beschrieben.
Beschreibung: Der Workflow in Studio gibt unerwartete Fehler aus und die Aktivitätspakete zeigen nicht die installierten Versionen an.
Ursache: In Ihrem Projekt stimmt die Hauptversion des UI.Automation- Aktivitätspakets nicht mit der Hauptversion des Mobile.Automation- Aktivitätspakets überein. Die Hauptversion des installierten UI.Automation- Pakets ist beispielsweise 22.10.x, und die Hauptversion des installierten Mobile.Automation- Pakets ist 22.4.x.
Lösung : Stellen Sie sicher, dass die Hauptversionen der in Ihrem Projekt installierten Aktivitätspakete UI.Automation und Mobile.Automation übereinstimmen. Paaren Sie beispielsweise UI.Automation.Activities Version 22.10.x nur mit Mobile.Automation.Activities Version 22.10.x.
Bedingung: Bei Verwendung von Appium 2.0.
/wd/hub/session
gefunden.
--base-path /wd/hub
.
Bedingung: Bei Verwendung von Appium 2.0.
Beschreibung: Alle nicht standardmäßigen Funktionen müssen ein Herstellerpräfix haben.
appium:
wie folgt für alle Funktionen manuell hinzu:
- Geben Sie in der Eingabeaufforderung oder im Terminal anstelle von
--default-capabilities "{\"systemPort\": 8201}"
--default-capabilities "{\"appium:systemPort\": 8201}"
ein. - Fügen Sie auf der Registerkarte Gerät hinzufügen im Mobile Device Manager manuell das Präfix
appium:
vor dem Namen einer zusätzlichen gewünschten Funktion hinzu.
Bedingung: Bei Verwendung von Appium 2.0.
automationName
darf nicht leer sein.
appium:
als Präfix hinzu. Beispiel: appium:automationName
.
Bedingung: Bei Verwendung von Appium 2.0.
Beschreibung: Der installierte Treiber konnte nicht gefunden werden, um die angegebenen Obergrenzen zu unterstützen.
Appium 2.0 installiert die erforderlichen Treiber nicht automatisch. Sie müssen sie separat herunterladen.
Lösung: Installieren Sie den erforderlichen Treiber für Ihre Plattform.
- Installieren Sie bei Android-Geräten den Treiber
uiautomator2
mit dem Befehlappium driver install uiautomator2
. - Installieren Sie bei iOS-Geräten den Treiber
xcuitest
mit dem Befehlappium driver install xcuitest
.
In den folgenden Themen werden die Probleme für Android-Geräte und die entsprechenden Abhilfen beschrieben.
InvalidArgumentException
fehlschlagen, die durch eine Diskrepanz im erwarteten Format einer Funktion entsteht. Das Problem tritt auf, wenn eine Funktion als String eingegeben wird, während Appium einen booleschen Wert erwartet. Eine entsprechende Fehlermeldung beinhaltet:Failed to create session.
A new session could not be created.
Details: io.appium.uiautomator2.common.exceptions.InvalidArgumentException:
Invalid '' setting value type.
Got java.lang.String. Expected: java.lang.Boolean
Failed to create session.
A new session could not be created.
Details: io.appium.uiautomator2.common.exceptions.InvalidArgumentException:
Invalid '<capability name>' setting value type.
Got java.lang.String. Expected: java.lang.Boolean
Lösung: Deinstallieren Sie die folgenden Apps vom lokalen Gerät:
io.appium.uiautomator2.server
io.appium.uiautomator2.server.test
WebDriverException
führen. Dieser Fehler wird in der Regel als Parameters were incorrect. We wanted {\"required\":[\"text\"]} and you sent [\"value\"]", "FaultCode":"WebDriverException"}
angezeigt.
Lösung: Deinstallieren Sie Ihre aktuelle Version von UiAutomator 2. Installieren Sie dann eine neuere Version, indem Sie die folgenden Befehle in der angegebenen Reihenfolge ausführen:
appium driver uninstall uiautomator2
appium driver install uiautomator2@2.29.0
, wobei2.29.0
die Version ist, die Sie installieren möchten. Sie können diese durch jede verfügbare Version ersetzen.
npm install -g appium
(für Appium 1.x) oder npm install -g appium@next
(für Appium 2.0) schlägt fehl, da Sie hinter einem Proxy laufen. Der Fehler gibt die folgende Meldung aus:
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly.
See: 'npm help config'
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly.
See: 'npm help config'
Lösung: Konfigurieren Sie den npm (Node Package Manager, Knoten-Paketmanager), um Ihren Proxy zu verwenden. Führen Sie die folgenden Schritte aus:
-
Rufen Sie Ihre Proxyserveradresse und Ihre Portnummer ab:
- Gehen Sie zu Internetoptionen.
- Wählen Sie die Registerkarte Verbindungen aus.
-
Wählen Sie LAN-Einstellungenaus, und kopieren Sie den Inhalt in die Felder Adresseund Port .
-
Kehren Sie zur Eingabeaufforderung von Node.js zurück und führen Sie einen Befehl aus, der dem folgenden Format entspricht:
- Für HTTP-Proxys:
npm config set http://your_proxy_address:your_port_number
. - Für HTTPS-Proxys:
npm config set https://your_proxy_address:your_port_number
.
- Für HTTP-Proxys:
- Führen Sie den Befehl
npm install -g appium
(für Appium 1.x) odernpm install -g appium@next
(für Appium 2.0) erneut aus.
Beschreibung: Auf den angegebenen Webkontext konnte nicht zugegriffen werden. Stellen Sie sicher, dass die Android WebView zum Debuggen geeignet ist. Weitere Informationen zum Zugriff auf Webkontexte finden Sie unter Remote-Debugging von WebViews.
Abhilfen:
- Verwenden Sie WebView als native Selektoren in den Web-Kontexten, die nicht erkannt werden.
- Wenn die Selektoren bei Webanwendungen funktionieren, aber nicht bei einer nativen Anwendung, dann ermöglicht die Anwendung kein Debugging von WebViews. In diesem Fall siehe Erste Schritte mit dem Remote-Debuggen von Android WebViews und Remote-Debugging von WebViews.
Beschreibung: Gerät nicht autorisiert.
Lösung: Führen Sie die folgenden Schritte aus:
- Verwenden Sie den Befehl
adb devices
, um die vorhandenen Geräte zu überprüfen. - Debuggen auf dem Telefon aufheben.
- Starten Sie den ADB-Serverneu, indem Sie die folgenden Befehle in dieser Reihenfolge verwenden:
adb kill-server
und dannadb start-server
. - Verbinden Sie das Gerät erneut und bestätigen Sie, dass Sie der Verbindung auf diesem Gerät zustimmen.
Beschreibung: Das Android-Gerät startet eine Browser-Automatisierung anstelle der angegebenen App und verursacht dadurch Fehler.
Abhilfe: Beginnen Sie stattdessen mit einem Webbrowser.
In den folgenden Themen werden die Probleme und die entsprechenden Abhilfen für iOS-Geräte beschrieben.
Beschreibung: Wenn Sie auf ein WebView-Element klicken, funktioniert der Selektor nicht und Sie können das Element nicht automatisieren.
Lösung: Verwenden Sie die Simulatoren mit der neuesten Version von iOS und Appium 2.
Beschreibung: Das physische iOS-Gerät kann nicht gestartet werden.
Lösung: Führen Sie die folgenden Schritte aus:
- Stellen Sie sicher, dass Ihr Gerät dem Zertifikat vertraut. Gehen Sie auf Ihrem Gerät zu Einstellungen > Allgemein > Profile und Geräteverwaltung, tippen Sie auf den E-Mail-Eintrag (z. B. Apple Development: benutzername@email.com) und vertrauen Sie dann dem Zertifikat. Wenn das Gerät Ihr Unternehmenskonto verwendet, ist dies nicht erforderlich.
- Wenn Sie eine Fehlermeldung erhalten, dass Port 8100 nicht erreichbar ist, schließen Sie Appium (
ctrl + c
) und starten Sie es erneut. - Wenn Sie einen anderen Fehler erhalten, sollten Sie unter Appium XCUITest Driver Real Device nachsehen.
Beschreibung: iOS 16.0-Gerät kann nicht gestartet oder verbunden werden.
Lösung: Installieren und verwenden Sie Appium 2.0 anstelle von Appium 1. Weitere Informationen zur Installation und Verwaltung von Appium 2.0 finden Sie im Abschnitt Voraussetzungen für lokale iOS-Geräte.
Beschreibung: iOS 12.4.5 funktioniert nicht wie erwartet, wenn es mit Appium 1.22.3 gekoppelt ist.
Ursache: Dies wird durch ein Problem mit Appium verursacht.
Abhilfe: Wählen Sie eine der folgenden Optionen aus:
- Verwenden Sie eine niedrigere Version von Appium, z. B. 1.17.0.
- Aktualisieren Sie das Gerät auf Versionen gleich oder höher als iOS 14.
- Automatisierung von Mobilgeräten
- Workflow und Aktivitäten, die Fehler generieren
- Keine Route für wd/hub/session gefunden
- Anbieterpräfix für alle nicht standardmäßigen Funktionen erforderlich
- AutomationName darf nicht leer sein
- Der installierte Treiber kann nicht gefunden werden
- Android
- Verbindungsfehler aufgrund von
InvalidArgumentException
für Funktionen - Aktivitätsfehler aufgrund eines
WebDriverException
- Die Appium-Installation schlägt aufgrund des Proxys fehl
- Der angegebene Webkontext konnte nicht aufgerufen werden
- Gerät nicht autorisiert
- Browser-Automatisierung beim Starten über den Startbildschirm
- Android-App wird nicht gestartet
- iOS
- WebView-Elemente können unter iOS 13 nicht angeklickt werden
- Das physische iOS-Gerät lässt sich nicht starten
- iOS 16.0-Gerät kann nicht gestartet werden
- Fehlfunktionen von iOS 12.4.5