- Ü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
- 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
- Popup schließen
- Ziehen und Ablegen
- Extract Table Data
- For Each UI Element
- Attribut erhalten (Get Attribute)
- 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
- Computer Vision Local Server
- Mobile Automation
- Versionshinweise
- 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
- Creating variables from selector attributes
- Erste Schritte mit Mobile Automation-APIs
- 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)
Erste Schritte mit Mobile Automation-APIs
Diese Schnellstartanleitung hilft Ihnen, Ihre erste codierte Automatisierung mithilfe von Mobile Automation-APIs zu erstellen. Das Tutorial verwendet die UiPath® Android Basic App und einen Google Pixel-Emulator von Sauce Labs für automatisierte Tests.
Um das gewünschte Mobilgerät und die Anwendung in unserer codierten Automatisierung zu verwenden, müssen wir sie zuerst im MDM (Mobile Device Manager) erstellen:
- So erstellen Sie die Anwendung:
- Wechseln Sie in MDM zu Anwendungen.
- Wählen Sie Anwendung hinzufügen aus.
- Geben Sie im Fenster Anwendung bearbeiten die erforderlichen Informationen ein:
- Name: Verwenden Sie in diesem Beispiel
Basic App - Android
. - Typ: Wählen Sie App für eine native Anwendung aus.
- Plattform: Wählen Sie Android aus, um die Android-Anwendung zu automatisieren.
- App: Geben Sie in diesem Beispiel den folgenden Link zur Android-Standard-App ein:
https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
. - App-Paket: Geben Sie das mobile Anwendungspaket ein, z. B.
com.example.basicapp
. - App-Aktivität: Geben Sie die Aktivitätsinstanz ein, z. B.:
.core.MainActivity
. - Fügen Sie für Zusätzliche gewünschte Funktionen die Funktion
appium:app
hinzu, um sicherzustellen, dass die Anwendung wie erwartet funktioniert.
Tabelle 1. Zusätzliche gewünschte Funktionen Name Wert appium:app
appium:app https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
- Name: Verwenden Sie in diesem Beispiel
- So erstellen Sie das Gerät:
- Gehen Sie zu Geräte und wählen Sie Gerät hinzufügen aus.
- Benennen Sie das Gerät. Verwenden Sie für dieses Beispiel
Google Pixel 3a GoogleAPI Emulator
. - Legen Sie die folgenden Parameter fest: Appium-URL, Plattform, Gerätename, Plattformversion.
- Rufen Sie die Parameter von dem von Ihnen gewählten Anbieter der mobilen Gerätefarm ab. In diesem Beispiel verwenden wir Sauce Labs.
- Um die Appium-URL abzurufen, wechseln Sie zu Konto und dann zu Benutzereinstellungen. Kopieren Sie die Abruf-URL unter Treibererstellung.
- Um Plattform, Gerätename und Plattformversion abzurufen, wechseln Sie zu Automatisiert und dann zu Plattformkonfigurator. Wählen Sie die Funktionen für
Google Pixel 3a GoogleAPI Emulator
undAndroid Emulator version 10.0
aus. Wählen Sie unter Konfigurationsskript IhrAppium version
aus. Verwenden Sie für dieses Beispiel 2.0.0. - Kopieren Sie die Werte aus Sauce Labs in MDM und fügen Sie sie ein.
-
- Klicken Sie auf Speichern und schließen.
- Wählen Sie Eine Anwendung auf diesem Gerät starten aus und verbinden Sie das Gerät mit der zuvor erstellten Anwendung.
Um Ihre bevorzugte mobile Anwendung zu automatisieren, zeichnen Sie ihre mobilen Elemente im Objekt-Repository des Projekts auf. In diesem Beispiel haben wir eine Basic App-Anwendung mit einem allgemeinen HomeScreen erstellt, die drei UI-Elemente enthält, die wir zum Automatisieren verwenden. In der folgenden Liste sehen Sie, wie die Struktur des Object Repository aussieht:
- BasicApp
- HomeScreen
- EditText
- SingleClickButton
- VerifyText
- HomeScreen
Nachdem Sie Ihr Gerät und Ihre Anwendung in MDM konfiguriert haben, beginnen Sie mit dem Schreiben des Codes für Ihre Automatisierung. Bevor Sie mit der Verwendung der Mobile Automation-APIs beginnen, müssen Sie mithilfe der entsprechenden APIs eine Verbindung zwischen dem von Ihnen gewählten Mobilgerät und der Anwendung herstellen.
connection
ist eine Klasse, die die Verbindung zwischen einem Gerät und einer Anwendung darstellt. Sie stellt die APIs bereit, die Sie zur Automatisierung von mobilen Testszenarien verwenden können. Weitere Informationen zum Erstellen eines connection
finden Sie unter Verbindung.
Um eine Verbindung herzustellen, stehen Ihnen eine Reihe von speziellen APIs zur Verfügung, die Sie verwenden können. In diesem Beispiel haben wir die Connect-API mit der zweiten Überladung verwendet, die die Geräte- und Anwendungsnamen als Strings erfordert.
Erstellen Sie die Verbindung mit den folgenden Schritten:
- Beginnen Sie mit einer
using
-Anweisung, um das Erstellen einer separaten Variablen zu vermeiden. - Rufen Sie in der
using
-Anweisung die Connect-API mit der zweiten Überladungsversion auf.Geben Sie für diese Überladung den Gerätenamen und den Anwendungsnamen ein, um die Verbindung herzustellen.
[TestCase] public void Execute() { using (Connection connection = mobile.Connect( "Google Pixel 3a GoogleAPI Emulator", "Basic App - Android"))
[TestCase] public void Execute() { using (Connection connection = mobile.Connect( "Google Pixel 3a GoogleAPI Emulator", "Basic App - Android")) - Optional können Sie zu Debugging-Zwecken eine
Log
-Meldung hinzufügen.Log("Connection established");
Log("Connection established");
Der automatisierte Flow in diesem Beispiel umfasst das Tippen auf bestimmte Schaltflächen, das Abrufen von Text, der auf dem mobilen Bildschirm angezeigt wird, und das Wischen über einen Schieberegler. Diese Aktionen simulieren reale Szenarien der mobilen Automatisierung.
IElementDescriptors
verwendet. Dabei handelt es sich um UI-Elemente, auf die direkt über das Object Repository zugegriffen wird. Zusätzlich zu IElementDescriptors
können Sie andere Selektortypen mit Mobile Automation-APIs verwenden, z. B. ObjectRepositoryTarget
und SelectorTarget
. Unter API-Selektoren erfahren Sie, wie und wann Sie andere Selektortypen verwenden können.
- Rufen Sie die Tap-API auf, um in der Android Basic-App auf SingleClickButton zu klicken.
// Tap the SingleClickButton connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton); Log("Tapped SingleClickButton ");
// Tap the SingleClickButton connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton); Log("Tapped SingleClickButton "); - Verwenden Sie die SetText-API, um einen bestimmten Text in das EditText-Feld einzugeben.
string expectText = "Random text"; connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText); Log("Inserted random text");
string expectText = "Random text"; connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText); Log("Inserted random text"); - Rufen Sie den zuvor festgelegten Text ab und überprüfen Sie, ob er mit dem Text aus dem UI-Element VerifyText übereinstimmt. Verwenden Sie die GetText- und VerifyExpression-APIs.
var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText); testing.VerifyExpression(expectText == actualText, "EditText validation failed."); SelectorTarget selector = null;
var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText); testing.VerifyExpression(expectText == actualText, "EditText validation failed."); SelectorTarget selector = null; - Verwenden Sie die PositionalSwipe-API, um den Schieberegler zu verschieben.
Die PositionalSwipe-API erfordert zwei
Point
-Variablen, die die Start- und Endpunkte für die Wischaktion darstellen. Erstellen Sie diese Punkte, bevor Sie die API verwenden, um die Lesbarkeit zu verbessern.// Perform a positional swipe operation to use the slider var startPoint = new Point(226, 304); var endPoint = new Point(296, 304); connection.PositionalSwipe(startPoint, endPoint); Log("Performed Swipe action.");
// Perform a positional swipe operation to use the slider var startPoint = new Point(226, 304); var endPoint = new Point(296, 304); connection.PositionalSwipe(startPoint, endPoint); Log("Performed Swipe action.");Um die Bildschirmposition zu ermitteln, gehen Sie zur aktiven Verbindung im MDM. Zeigen Sie mit dem Mauszeiger auf den mobilen Bildschirm. Dadurch wird die Position des Cursors in Pixeln in der unteren linken Ecke des MDM angezeigt.
Um die Schritte in dieser Schnellstartanleitung auszuführen oder sie selbst auszuprobieren, laden Sie das Beispiel für den Mobile Automation APIs-Schnellstart herunter.