studio
latest
false
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Studio-Benutzerhandbuch

Letzte Aktualisierung 29. Mai 2025

Einleitung

Coded automations allow you to create automations using code instead of drag-and-drop activities, allowing collaborative work on complex projects. In coded workflows and test cases, you can use UiPath services (equal to activity packages), coded automation APIs (similar to activities), external .NET NuGet packages, and your custom C# classes in UiPath Studio. This makes it easy to integrate with external systems, databases, APIs, and other services.

Codierte Workflows verhalten sich genau wie Standard-Workflows, d. h. sie können auch in Standard-UiPath-Workflows aufgerufen werden und umgekehrt, indem die Aktivität Invoke Workflow File verwendet wird.

Zudem können im Code definierte Typen wie Aufzählungen als Eingaben in Standard-UiPath-Workflows verwendet werden.

Es gibt drei Arten codierter Automatisierungen:

  • Codierte Workflows – Zum Entwerfen von Workflows in Code.
  • Codierte Testfälle – Zum Entwerfen von Testfällen.
  • Codequelldateien – Zum Erstellen von Code, den Sie später in anderen codierten Dateitypen aufrufen können.


Verwenden von codierten Automatisierungen

Zum Erstellen von codierten Automatisierungen in Ihrem Projekt ist in der Regel das Paket UiPath.CodedWorkflows vorinstalliert. Das Paket enthält die Basis-Klasse CodedWorkflowBase und die CodedWorkflow .

Das Paket ist vorinstalliert, wenn:

  • Sie erstellen ein neues Projekt mit mindestens Version 23.10 von System.Activities, Testing.Activities oder UIAutomation.Activities oder einem anderen Aktivitätspaket, das codierte Workflows unterstützt.
  • Sie erstellen einen neuen Codierten Workflow, einen Codierten Testfall oder eine Codequelldatei in Ihrem Projekt.

Wenn Sie in den angegebenen Szenarien keine codierten Automatisierungen verwenden können, laden Sie das Paket über das Menü Pakete verwalten herunter.

Vorteile

Hier sind einige der Vorteile der Verwendung von codierten Automatisierungen:

  1. Verbesserte Produktivität – Wenn Sie mit dem Programmieren oder Skripten vertraut sind, können Sie Ihre Fähigkeiten nutzen und Ihre Produktivität steigern. Die Arbeit in einer vertrauten Programmierumgebung ermöglicht es Ihnen, effizientere Automatisierungen zu entwickeln.
  2. Komplexitätsmanagement – Codierte Automatisierungen bieten eine flexible Lösung für die Verwaltung komplexer Automatisierungsszenarien. Mithilfe von Code können Sie benutzerdefinierte Logik implementieren, Ausnahmen verwalten und wiederverwendbare Funktionen erstellen.
  3. Hybride Automatisierung – Sie können abwechselnd codierte Automatisierungen und Low-Code-Automatisierungen verwenden. Das ermöglicht eine nahtlose Integration zwischen den beiden Ansätzen, sodass Sie flexible Automatisierungslösungen erstellen können.
  4. Verbesserte Leistung – Mit codierten Automatisierungen können Sie Ihre Automatisierungs-Workflows optimieren, um die Leistung zu verbessern. Mithilfe von Code können Sie bestimmte Algorithmen implementieren, um Ihre Automatisierungen schneller auszuführen.
  5. Lesbarkeit – Mit codierten Automatisierungen können Sie strukturierten Code erstellen, wodurch eine bessere Lesbarkeit des Codes erzielt wird. Wenn Sie Ihren Code organisieren und dokumentieren, können Sie ihn einfach anpassen und für andere Mitarbeitende freigeben.

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.

Namespaces

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“.

Basisklasse

Automatisierungen mit codierten Workflows sowie codierten Testfällen verwenden die partielle Klasse 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 Aktivitätspaketen in Ihrem Projekt.
Hinweis: Das Paket UiPath.CodedWorkflows ist automatisch enthalten, wenn Sie ein Aktivitätspaket importieren, das codierte Automatisierungen unterstützt, z. B. UiPath.System.Activities 23.10 oder höher.

Codierter Workflow

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.
Hinweis: Wählen Sie in den Code-Editor-Einstellungen die Option Quelldekompilierung aktivieren aus, um die Klasse CodedWorkflowBase anzuzeigen.
Sehen Sie sich die CodedWorkflowBase-Methoden in der folgenden Tabelle an:
MethodBeschreibung
ICodedWorkflowServices services
Hinweis: Wir empfehlen Ihnen, die Methoden Log, BuildClient und RunWorkflow in der Klasse services und den dazugehörigen Diensten zu verwenden, anstatt sie als eigenständige, sofort verfügbare Methoden zu nutzen.
Bietet Zugriff auf die verfügbaren Dienste für codierte Workflows, z. B.:
  • OutputLoggerService: Ermöglicht die Ausgabe von Protokollen mithilfe der Log-Methode.
  • OrchestratorClientService (die BuildClient-Methode): Ermöglicht Ihnen die Aktivierung der Interaktion mit dem Orchestrator über die BuildClient-Methode.
  • WorkflowInvocationService: Ermöglicht es Ihnen, andere Workflows mit der Methode RunWorkflow aufzurufen.
  • Container: Der Container, in dem alle Dienste gespeichert sind. Ermöglicht Ihnen die Verwaltung von Ressourcen für codierte Workflows, wobei der automatische Import von Namespaces und Typen mit den AutoImportedNamespaces- und AutoImportedTypes-Methoden durchgeführt wird. Außerdem stellt er mit der Resolve-Methode eine Instanz eines bestimmten Dienstes bereit.
serviceContainer(ICodedWorkflowServiceContainer)
Hinweis: Dies wurde durch ICodedWorkflowServices services ersetzt. Wenn Sie diese Syntax weiterhin verwenden, erhalten Sie eine Warnung, die Sie auf die Verwendung der neuen services.Container-Syntax verweist.
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.

Einstiegspunkte

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.

Dienste

To design coded automations, you can use services, that are equal to activity packages. For example, System.Activities is not only an activity package in low-code automations, but also a service in coded automations. Similarly to the activities inside an activity package, a service has coded automation APIs that you can use to create coded automations.

Die folgenden Dienste sind für die Verwendung in codierten Automatisierungen verfügbar:

DienstVersion
System.Activities23.10.2 und höher
UiAutomation.Activities23.10.3 und höher
Testing.Activities23.10.0 und höher
MobileAutomation.Activities24.10.0 und höher
Mail.Activities1.22.1 und höher
Excel.Activities2.24.1 und höher
GSuite.Activities2.6.21 und höher
Presentations.Activities1.14.1 und höher
MicrosoftOffice365.Activities2.6.21 und höher

Um Aktivitätspakete in codierten Automatisierungen zu verwenden, führen Sie die folgenden Schritte aus:

  1. Download the activity package, equal to a service, similar to how you would in low-code automations. This provides you with a collection of coded automation APIs to use in your code.
  2. Call the coded automation APIs within the services using the format: service.API. For instance, if you want to use the GetAsset coded automation API, you would call it as system.GetAsset.
  3. Coded automation APIs have parameters instead of properties. After calling a coded automation API, you can configure its parameters by providing values between parentheses. For example, if you have an asset in the Orchestrator instance that you’re connected to, called Email Address, then you can pass this asset’s name as a String to the coded automation API: system.GetAsset("Email Address").
Tipp: In codierten Automatisierungen können Sie auch .NET-Klassenbibliotheken verwenden, die im Feed nuget.org zum Download verfügbar sind.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White