- Versionshinweise
- 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
- Dateivergleich
- Beste Praktiken für die Automatisierung (Automation Best Practices)
- Integration der Quellenkontrolle
- Debugging
- 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-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-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-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
- Triggerbasierte Attended-Automatisierung
- Kontrollfluss
- Objekt-Repository
- Protokollierung
- Das Tool ScreenScrapeJavaSupport
- Studio Testing
- 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 VMware Horizon
- SAP Solution Manager-Plugin
- Excel-Add-in
- 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
Aufrufen der codierten Quelldatei
Verwenden Sie diesen Workflow, um eine codierte Quelldatei in einem Low-Code-Workflow aufzurufen. In diesem Beispiel erstellen wir eine Klasse mit dem Namen TimeSpanHelper in der codierten Quelldatei TimeSpanHelper.cs. Diese Klasse generiert einen zufälligen Zeitraum basierend auf den angegebenen Grenzen. Um diese Klasse in einen Low-Code-Workflow zu integrieren, verwenden wir eine Aktivität des Typs Invoke Workflow File, gefolgt von anderen Low-Code-Aktivitäten, je nach Anwendungsfall.
- Erstellen Sie eine codierte Quelldatei. Nennen Sie sie in diesem Beispiel
TimeSpanHelper.cs. - Erstellen Sie in der codierten Quelldatei eine öffentliche Klasse mit dem Namen TimeSpanHelper.
-
Deklarieren Sie in der Klasse TimeSpanHelper ein privates statisches Zufallsobjekt mit dem Namen
_random, um Zufallswerte zu generieren.private static Random _random = new Random();private static Random _random = new Random(); -
Declare a private static object named
_lockObjto secure the thread, while working with multiple threads at the same time.private static object _lockObj = new object();private static object _lockObj = new object(); -
Implementieren Sie eine öffentliche statische Methode mit dem Namen
GetRandomTimeSpanBetweenund zwei Integer-Parametern:lowerBoundMsundupperBoundMs.public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs) {public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs) { -
Verwenden Sie die Lock-Anweisung mit
_lockObj, um diesen Thread zu sichern, während Sie mit mehreren Threads gleichzeitig arbeiten.lock (_lockObj) {lock (_lockObj) { -
Generieren Sie innerhalb des Lock-Blocks einen zufälligen Integer-Wert mit
_random.Nextund übergeben SielowerBoundMsundupperBoundMsals Argumente.var ms = _random.Next(lowerBoundMs, upperBoundMs);var ms = _random.Next(lowerBoundMs, upperBoundMs); -
Konvertieren Sie mithilfe von
TimeSpan.FromMillisecondsden generierten Zufallswert in ein ObjektTimeSpanund geben Sie diesen Wert mithilfe der folgenden Befehlsrückgabe direkt aus der Methode zurück:return TimeSpan.FromMilliseconds(ms);return TimeSpan.FromMilliseconds(ms);
-
Basierend auf diesen Schritten sollte Ihr endgültiger Code wie folgt aussehen:
public class TimeSpanHelper
{
private static Random _random = new Random();
private static object _lockObj = new object();
public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs)
{
lock (_lockObj)
{
var ms = _random.Next(lowerBoundMs, upperBoundMs);
return TimeSpan.FromMilliseconds(ms);
}
}
}
public class TimeSpanHelper
{
private static Random _random = new Random();
private static object _lockObj = new object();
public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs)
{
lock (_lockObj)
{
var ms = _random.Next(lowerBoundMs, upperBoundMs);
return TimeSpan.FromMilliseconds(ms);
}
}
}
- Erstellen Sie einen Low-Code-Workflow. Nennen Sie ihn in diesem Beispiel
WorkflowUsingCodeSourceFile. - Fügen Sie eine Log Message-Aktivität hinzu, um einen zufälligen Zeitraum zwischen zwei und vier Sekunden auszugeben.
- Geben Sie im Feld Meldung den Namen des Projekts ein, rufen Sie die codierte Quelldatei auf und rufen Sie dann die Methode
GetRandomTimeSpanBetweenauf.
Im folgenden Beispiel ist CodedWorkflowInteroperability der
Name des
Projekts.
CodedWorkflowInteroperability.TimeSpanHelper.GetRandomTimeSpanBetween(2000, 4000)
CodedWorkflowInteroperability.TimeSpanHelper.GetRandomTimeSpanBetween(2000, 4000)