- Ü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
- Ü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-DBP-002 – Hohe Anzahl von Argumenten
- ST-DBP-003 – Leerer Catch-Block
- ST-DBP-007 – Mehrere Flussdiagrammebenen
- ST-DBP-020 – Nicht definierte Ausgabeeigenschaften
- 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-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
- 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
Codierter Testfall
Codierte Testfälle automatisieren und validieren das Anwendungsverhalten auf strukturierte Weise. Sie ähneln Low-Code-Testfällen und ermöglichen flexible Automatisierungen mithilfe von Code.
- Arrange – Bereitet die Anwendung vor.
- Act – Führt bestimmte Aktionen aus.
- Assert – Überprüft die erwarteten Ergebnisse.
Codierte Testfälle können auch andere Low-Code-Workflows oder -Testfälle aufrufen, wodurch Code wiederverwendet werden kann. Diese Integration ermöglicht die Erstellung flexibler Testszenarien.
Sie können Ausführungsvorlagen auch für codierte Testfälle anwenden. Unter Ausführungsvorlagen erfahren Sie, wie Sie Ausführungsvorlagen verwenden können.
Struktur
Codierte Automatisierungen verfügen über ein strukturiertes Design mit Namespaces, Hilfsklassen und Einstiegspunktmethoden. Das Framework codierter Automatisierungen ermöglicht es Ihnen, sie mit der Programmiersprache C# zu schreiben.
Folgen Sie der detaillierten Struktur einer codierten Automatisierung, wie in den folgenden Abschnitten beschrieben.
Wenn Sie eine codierte Automatisierung erstellen, wird automatisch ein Namespace mit dem Namen des Studio-Projekts generiert. Wenn Ihr Studio-Projekt beispielsweise „My project“ heißt, lautet der Namespace für alle codierten Automatisierungen „Myproject“.
Und wenn Sie eine codierte Automatisierung in einem Ordner in Ihrem Studio-Projekt erstellen, ist der Namespace der Name des Projekts und der Name des Ordners. Wenn Ihr Studio-Projekt beispielsweise „My project“ heißt und der Ordner „place“, dann ist der Namespace „Myproject.place“.
CodedWorkflow
aus dem Paket UiPath.CodedWorkflows. Diese Klasse gewährt der Automatisierung Zugriff auf die erforderlichen Schnittstellen für Dienste (entspricht Aktivitätspaketen), basierend auf den installierten Paketen in Ihrem Projekt.
CodedWorkflow
Codierte Automatisierungen erben die partielle Klasse CodedWorkflow
und erstellen eine Beziehung des Typs CodedAutomationExample : CodedWorkflow
. Das bedeutet, dass die Klasse CodedAutomationExample
Attribute, Methoden und Funktionen von der Klasse CodedWorkflow
erbt. Im Wesentlichen kann sie die Funktionen aufrufen und verwenden, die in der Klasse CodedWorkflow
definiert sind, was eine Grundlage für die codierte Automatisierung bildet und es einfacher macht, darauf aufzubauen und das Verhalten der Automatisierung anzupassen.
Die Klasse CodedWorkflow
wird als partielle Klasse deklariert, sodass Sie ihre Funktionen erweitern können, indem Sie die gleiche partielle Klasse CodedWorkflow
in einer Codequelldatei definieren. So können Sie neue Felder und Methoden hinzufügen, um das Verhalten Ihrer codierten Automatisierungen weiter anzupassen. Mit diesem Ansatz können Sie eine Vor- und Nach-Schnittstelle speziell für codierte Testfälle implementieren.
Zudem erbt die partielle Klasse CodedWorkflow
die Klasse CodedWorkflowBase
.
CodedWorkflowBase
Die Klasse CodedWorkflowBase
enthält die integrierten Funktionen, die eine codierte Automatisierung erbt. Diese Klasse enthält Methoden und spezifische Eigenschaften für die Verwaltung von Workflowinstanzen, den Runtime-Zugriff, die Verarbeitung von Dienstcontainern und die Konfiguration von Umgebungskontexten. Die Klasse CodedWorkflowBase
bietet auch eine weitere separate Methode für die Protokollierung, die Sie selbst anpassen können.
Sehen Sie sich die CodedWorkflowBase
-Methoden in der folgenden Tabelle an:
Method | Beschreibung |
---|---|
serviceContainer(ICodedWorkflowServiceContainer) |
Bietet Zugriff auf den Container für die Abhängigkeitsinjektion, der für den aktuellen codierten Workflow spezifisch ist. Dieser Container, der als Dienstcontainer bezeichnet wird, ermöglicht es Ihnen, Instanzen von Diensten abzurufen, die darin registriert wurden. |
GetRunningJobInformation() |
Ruft Informationen über den aktuell ausgeführten Auftrag im Kontext des codierten Workflows ab. Die Methode greift auf die Eigenschaft RunningJobInformation des Objekts executorRuntime zu, die Informationen über Auftragsstatus, Fortschritt, Parameter und Zeitstempel enthält.
|
Log(string message, LogLevel level = LogLevel.Info,
IDictionary<string, object> additionalLogFields =
null) |
Fügt zusätzliche Protokollfelder zu Protokollmeldungen mit angegebenen Attributen hinzu. |
RunWorkflow(string workflowFilePath,
IDictionary<string, object> inputArguments = null,
TimeSpan? timeout = null, bool isolated =
false, InvokeTargetSession targetSession =
InvokeTargetSession.Current) |
Stellt eine Struktur zum Ausführen eines Workflows im Kontext der angegebenen Workflow-Runtime bereit. Sie kann Parameter festlegen, eine potenzielle Isolierung verarbeiten und die Workflowausführung initiieren. Die zurückgegebene Aufgabe enthält die Ergebnisse des ausgeführten Workflows, einschließlich seiner Ausgabe und Eingabe-/Ausgabe-Argumente. |
RunWorkflowAsync(string workflowFilePath,
IDictionary<string, object> inputArguments = null,
TimeSpan? timeout = null, bool isolated =
false, InvokeTargetSession targetSession =
InvokeTargetSession.Current) |
Stellt eine Struktur zum asynchronen Ausführen eines Workflows im Kontext der angegebenen Workflow-Runtime bereit. Sie kann Parameter festlegen, eine potenzielle Isolierung verarbeiten und die Workflowausführung initiieren. Die zurückgegebene Aufgabe enthält die Ergebnisse des ausgeführten Workflows, einschließlich seiner Ausgabe und Eingabe-/Ausgabe-Argumente. |
DelayAsync(TimeSpan time) und
DelayAsync(int delayMs) |
Hält die Ausführung asynchron für einen bestimmten Zeitraum an. |
Delay(TimeSpan time) und Delay(int
delayMs) |
Hält die Ausführung für einen bestimmten Zeitraum an. |
HttpClient BuildClient(string scope = "Orchestrator",
bool force = true) |
Erstellt einen HTTP-Client mit einem angegebenen Scope und Zugriffstoken. |
RegisterServices(ICodedWorkflowsServiceLocator
serviceLocator) |
Registriert Dienste (Aktivitätspakete) im Dienst-Locator des codierten Workflows. Sie können dies überschreiben, wenn Sie benutzerdefinierte Dienste in den Container für die Abhängigkeitsinjektion einfügen möchten. Hier erfahren Sie, wie Sie benutzerdefinierte Dienste (codierte Aktivitätspakete) erstellen und verwenden. |
Die Einstiegspunktmethode für codierte Workflows sowie codierte Testfälle heißt Execute()
und wird entweder als Workflow
oder TestCase
zugeordnet. Sie können den Namen der Methode ändern, solange Sie ihn entweder Workflow
oder TestCase
zuordnen.
Sie können nur eine einzige Execute()
-Methode ([TestCase]
oder [Workflow]
) innerhalb einer Datei verwenden, welche die Klasse Coded
Workflow
erbt.
In dieser Methode können Sie Eingabe- und/oder Ausgabeargumente hinzufügen, die In-, Out- oder In/Out-Argumenten in Low-Code-Automatisierungen entsprechen. Im Tutorial Arbeiten mit Eingabe- und Ausgabeargumenten erfahren Sie, wie Sie Argumente in codierten Automatisierungen verwenden.
Diese Einstiegspunktmethode dient als Startpunkt für die Ausführung der Automatisierungen. So lassen sich codierte Workflows und Testfälle aufgrund ihrer Execute()
-Methode leicht als Einstiegspunkte identifizieren.
Projektkompatibilität
Sie können codierte Automatisierungen nur in Windows- und plattformübergreifenden Projekten verwenden.