- Versionshinweise
- Erste Schritte
- Einstellung und Konfiguration (Setup and Configuration)
- Automationsprojekte
- 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-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
- Variablen
- Argumente
- Importierte Namespaces
- Aufzeichnung
- UI-Elemente
- Kontrollfluss
- Selektoren
- Objekt-Repository
- Data-Scraping
- Bild- und Textautomatisierung
- Automatisierung von Citrix-Technologien
- RDP-Automatisierung
- SAP-Automation
- VMware Horizon-Automatisierung
- Protokollierung
- Das ScaleCoordinates-Migrationstool
- Das Tool ScreenScrapeJavaSupport
- Das WebDriver-Protokoll
- StudioPro
- Erweiterungen
- Fehlersuche und ‑behebung
- Internet Explorer x64
- Microsoft Office Interop-Probleme
- Erkennen von UI-Elementen in PDF mit Zugriffsoptionen.
- Erkennen von UI-Elementen nach Windows-Aktualisierungen.
- JxBrowser-Anwendungen
- Überwachung der Benutzerereignisse (User Events Monitoring)
- Java in App-V
- Microsoft App-V – Unterstützung und Einschränkungen
- Citrix-Fehlerbehebung
Webdienste in Bibliotheken laden
Studio kann Aktivitäten direkt aus SOAP- oder REST-Webdiensten oder Postman-Sammlungen über das Fenster Dienst-Editor generieren.
Das Fenster ermöglicht das automatische Laden aller Methoden oder Endpunkte in einem bestimmten Webdienst, sei es REST oder SOAP, sofern der bereitgestellte Link die Definition der Dienste – Swagger oder WSDL – enthält.
Sobald sie geladen ist, wählen Sie aus, von welchen Endpunkten oder Methoden automatisch Aktivitäte erstellt werden sollen. Alle ausgewählten Elemente werden im Panel Aktivitäten angezeigt, und zwar unter dem Namespace, den Sie im Fenster Dienst-Editor angegeben haben.
.nupkg
-Datei gepackt und in Orchestrator oder an einem benutzerdefinierten Ort veröffentlicht werden. Als Ergebnis können Sie Ihre neu definierte Aktivität leicht mit anderen Entwicklern teilen, mit denen Sie zusammenarbeiten.
Mit den folgenden Schritten können Sie Aktivitäten aus Webdiensten generieren:
Um einen Dienst zu bearbeiten, klicken Sie einfach mit der rechten Maustaste auf den Dienst im Panel Projekt (Project) unter Dienste (Services) und wählen Sie Dienst bearbeiten (Edit Service).
project.json
-Datei der Bibliothek ausgecheckt wird, die Option Dienste bearbeiten für .xaml
-Dateien mit geladenen SOAP- oder REST-Webdiensten aktiviert wird.
project.json
beschrieben, welche die Bibliotheksdefinition enthält, und im Dienstdokument. Ein webServices
-Knoten wird zur Datei project.json
hinzugefügt und jeder Dienst wird durch folgende Elemente identifiziert:
Parameter |
Beschreibung |
---|---|
|
Der Name des Dienstes, der im Fenster Dienst-Editor angegeben wird. |
|
Der Pfad zu der
.json -Datei, die Metadaten für den SOAP- oder Swagger-Dienst enthält. Die Datei wird beim Reparieren des Dienstes verwendet und sollte dieselbe Version wie das Projekt haben.
|
|
Der Dateipfad oder der Link zur Swagger- oder SOAP-Ressource (die beim Erstellen des Dienstes im Fenster Dienst-Editor angegeben wurde). |
|
Eine Referenz, die für die Dienstversion benötigt wird. |
Reparaturdienste
dll
-Dateien werden nicht in Source Control-Repositorys gepusht. Daher weisen die Projekte beim Auschecken von Bibliotheken mit Diensten unaufgelöste Aktivitäten im Panel Designer auf.
.dll
für den Dienst neu zu generieren, klicken Sie mit der rechten Maustaste auf den Dienstknoten im Panel Projekt, und wählen Sie Dienst reparieren im Kontextmenü aus.
.json
-Datei gespeichert. Wenn bei einem geladenen Dienst die zugehörige .json
-Datei fehlt, ermöglicht Ihnen die Kontextmenüoption Dienste reparieren für den Knoten Dienste das Generieren der fehlenden .json
-Dateien mit dem Link zur Webdokumentbeschreibung, die bei der Diensterstellung angegeben wurde. Infolgedessen werden Filter, die möglicherweise bei der ersten Erstellung des Dienstes angewandt wurden, nicht mehr angewandt und alle von dem vorgenannten Pfad oder Link zur Verfügung gestellten Ressourcen werden importiert.
UiPath.Studio.CommandLine.exe
, die auf der Seite Befehlszeilenparameter für massenhaftes Aktualisieren (Mass Update Command Line Parameters) angegeben ist, werden keine Webdienste berücksichtigt.
Um Aktivitäten aufzurufen, die von Webdiensten mehrmals innerhalb einer Schleife generiert wurden, erstellen Sie einen separaten Workflow aus der Hauptbibliotheksdatei, und rufen Sie dort die Dienstmethode auf. Verwenden Sie im Hauptworkflow die Aktivität Workflow-Datei aufrufen in einer Für alle-Aktivität, und rufen Sie den zuvor erstellten Workflow auf.
Um weitere Details über Aktivitäten von Webdiensten anzuzeigen, besuchen Sie bitte diese Seite.
.json
-Dateien aus Swagger-Diensten interpretiert, hat sich geändert, wodurch Abwärtskompatibilitätsprobleme auftreten, wenn ein vorhandener Dienst aus dem Fenster Dienst bearbeiten bearbeitet wird.
Im folgenden Beispiel haben wir die Änderung mithilfe des Petstore-Demowebdienstes veranschaulicht.
Vor Studio v2020.4, nachdem Sie den Dienst zu einem Bibliotheksprojekt hinzugefügt und das Kontextmenü „Nach Typen durchsuchen...“ verwendet haben, finden Sie die folgenden Namespaces unter SwaggerPetstore-Assemblyname:
UiPath.WebClient._ClientNamespace
eintauchen, finden Sie die folgenden Typen:
xaml
-Datei aus einer Studio-Bibliothek verwendet worden wäre, wäre sie daher Teil von UiPath.WebClient._ClientNamespace
. Der _ClientAddPetRequest
-Typ wurde zum Generieren einer Anforderung verwendet, wie im folgenden Auszug:
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore"
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<uw_:AddPetActivity.Request>
<uw_:<em>ClientAddPetRequest Body="{x:Null}" />
</uw</em>:AddPetActivity.Request>
</uw_:AddPetActivity>
</Sequence>
</Activity>
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore"
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<uw_:AddPetActivity.Request>
<uw_:<em>ClientAddPetRequest Body="{x:Null}" />
</uw</em>:AddPetActivity.Request>
</uw_:AddPetActivity>
</Sequence>
</Activity>
Mit Studio v2020.4 kann beim Importieren desselben Webdienstes der folgende Namespace gefunden werden:
UiPath.WebClient.PetClientNamespace
werden die folgenden Typen gefunden:
xaml
-Datei aus einer Studio-Bibliothek verwendet wird, die mit v2020.4 erstellt wurde, ist sie daher Teil von UiPath.WebClient.PetClientNamespace
, und der PetClientAddPetRequest
-Typ wird zum Generieren einer Anforderung verwendet. Dies sind andere Namespaces und Typen als für Bibliotheken, die mit Versionen vor v2020.4 erstellt wurden.
Unten ist ein Auszug aus einer solchen Bibliothek, die mit v2020.4 erstellt wurde:
xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
<uwp:PetClientAddPetRequest Body="{x:Null}" />
</uwp:AddPetActivity.Request>
</uwp:AddPetActivity>
</Sequence>
</Activity>
xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
<uwp:PetClientAddPetRequest Body="{x:Null}" />
</uwp:AddPetActivity.Request>
</uwp:AddPetActivity>
</Sequence>
</Activity>
Die Postman-Anwendung kann zum Erstellen und Gruppieren von API-Definitionen in Sammlungen verwendet werden, wodurch Ihre Anforderungen organisiert und miteinander verkettet werden. Postman unterstützt Skripts zum Übergeben von Daten zwischen API-Anforderungen. Sehen Sie sich die Postman-Onlinedokumentation an, um mehr über das Erstellen einer Sammlung zu erfahren.
Wenn Sie bereits über eine Postman-Sammlung verfügen, können Sie deren Anforderungen in Studio laden und eine Aktivität generieren. Die Wartung der Sammlung erfolgt in Postman, und alle Änderungen werden auch in Ihrem Workflow vorgenommen.
Studio erhält über einen API-Schlüssel Zugriff auf eine Postman-Sammlung, die dem Fenster Dienst-Editor im Feld Datei oder Link hinzugefügt werden muss. Der API-Schlüssel ist ein kontoweiter Schlüssel, der auf der Seite „Postman-Profileinstellungen“ > „API-Schlüssel“ generiert wird, und kein API-Schlüssel, der durch das Freigeben einer Sammlung generiert wird. Daher werden Änderungen an Anforderungen nur in Postman und nicht auch in Studio vorgenommen.
Studio lädt alle in der Auflistung definierten Anforderungen, und Anforderungen können nicht einzeln ausgeführt werden. Das Bearbeiten und Reparieren einer Sammlung in Studio erfolgt auf die gleiche Weise wie bei SOAP- oder REST-Webdiensten.
- Nodejs und NodeJS-CLI, Version 6
- Newman Version 4.5.5
Es wird empfohlen, den Computer nach der Installation von Newman neu zu starten.
get
und im Bereich Ausgabe von Studio anzuzeigen.
In diesem Beispiel haben wir ein Test-Skript geschrieben, um die empfangenen Daten zu durchlaufen. Wir haben eine globale Variable direkt im Skript deklariert, aber dies kann auch mit dem Snippet Eine globale Variable festlegen in Postman erfolgen. Mehr dazu lesen Sie hier.
EUR
an ein Out-Argument, das in der Bibliothek sichtbar ist, im Bedienfeld Eigenschaften > Eingabe > Auflistung. Das Out-Argument ist im gleichen Bereich im Abschnitt Ausgabe sichtbar.
Out-Argumente aus den Aktivitäten werden einer Variablen zugeordnet, und ihr Wert wird in das Bedienfeld Ausgabe geschrieben.
Sie können eine If-Aktivität verwenden, um den zurückgegebenen Wert der Variablen zu überprüfen. In diesem Beispiel haben wir überprüft, ob der Wert zurückgegeben wird, und ihn dann in den Ausgabebereich geschrieben.