Abonnieren

UiPath Studio

UiPath Studio-Anleitung

Erweiterung fĂŒr Java

UnterstĂŒtzte Versionen

Derzeit ist die Java-Erweiterung mit jeder Version von JRE kompatibel, von Java 3 bis Java 17.

📘

Hinweis:

FĂŒr Java 9 und höhere Versionen funktioniert die UiPath-Erweiterung fĂŒr Java in Windows Enterprise-Editionen sowie anderen Windows-Editionen als Enterprise, bei denen Anwendungen mit dem JDK geöffnet werden. FĂŒr Anwendungen, die mit der Java-Laufzeitumgebung geöffnet werden, funktioniert die UiPath-Erweiterung fĂŒr Java nur in anderen Windows-Editionen als Enterprise. Weitere Informationen finden Sie im Leitfaden zur Problembehandlung fĂŒr die Java-Erweiterung.

Über Studio und die Befehlszeile

Die UiPath-Erweiterung fĂŒr Java wird folgendermaßen installiert:

  • Aus Studio
    1. Schließen Sie alle geöffneten Java-Anwendungen.
    2. Öffnen Sie Studio.
    3. Wechseln Sie zu Tools > UiPath-Erweiterungen.
    4. WĂ€hlen Sie Java > Installieren aus. Eine BestĂ€tigungsmeldung wird angezeigt und informiert Sie darĂŒber, dass die Erweiterung installiert wurde.
  • Über die Befehlszeile:
    • FĂŒhren Sie diesen Befehl C:\Program Files\UiPath\Studio\UiPath\SetupExtensions.exe /Java in einem Eingabeaufforderungsfenster mit Administratorrechten aus.

Studio und UI-Explorer fragen ĂŒberdies nach der Installation der UiPath-Erweiterung fĂŒr Java, wenn Sie versuchen, ein Steuerelement in einer Java-App aufzurufen, und wenn die BrĂŒcke nicht erkannt wird. Beachten Sie Folgendes: Wenn Sie die UiPath-Erweiterung fĂŒr Java nach Aufforderung durch UI-Explorer installieren, werden die Java Bridge-Dateien nur im JRE-Verzeichnis bereitgestellt, in dem die Java-Zielanwendung gestartet wurde, und nicht im JDK-Verzeichnis.

📘

Hinweis:

Um die Erweiterung zu installieren, benötigen Sie Administratorrechte.

Um zu ĂŒberprĂŒfen, ob die Erweiterung nicht ordnungsgemĂ€ĂŸ funktioniert, öffnen Sie UIExplorer und versuchen Sie, Steuerelemente in einer Java-App auszuwĂ€hlen. Wenn das gesamte Fenster ausgewĂ€hlt wird, bedeutet das, dass die Erweiterung nicht ordnungsgemĂ€ĂŸ funktioniert.

Ob die Erweiterung ordnungsgemĂ€ĂŸ installiert wurde, erkennen Sie anhand der generierten Selektoren fĂŒr Java-Steuerelemente.

<wnd app=”...” /><java role=”...” />
<wnd app=”...” /><ctrl role=”client” />

📘

Hinweis:

Die UiPath-Erweiterung fĂŒr Java ist nur mit AWT-Apps (z. B. Java Swing, Oracle Forms, Fujitsu JBK) kompatibel. SWT-Apps hingegen werden mit Active Accessibility automatisiert. Wenn Sie den Typ Ihrer Java-Anwendung ermitteln möchten, ĂŒberprĂŒfen Sie das Attribut cls (Name der Fensterklasse) in UI-Explorer. Der Klassenname sollte SunAwtFrame oder javax.swing Ă€hneln.

Prozesse können unabhÀngig von ihrer DPI-Skalierung mit Java-Anwendungen interagieren.

The UiPath Extension for Java can also be installed using the ScreenScrapeJavaSupport tool.

🚧

Warnung!

Das in Studio eingebettete Installationsprogramm fĂŒr Java-Erweiterungen (und auch ScreenScrapeJavaSupport) verwendet den Erweiterungsmechanismus, um die Erweiterung von der JRE laden zu lassen. Ab Java 9 wurde der Erweiterungsmechanismus veraltet und das Installationsprogramm kann die erforderlichen Dateien nicht zur JRE hinzufĂŒgen (weitere Informationen finden Sie hier).

Mit der UnterstĂŒtzung des standardmĂ€ĂŸigen Injektionsmechanismus sollte das Installationsprogramm die erforderlichen Dateien zur JRE hinzufĂŒgen können. Wenn nicht, fĂŒhren Sie fĂŒr Java-Anwendungen, die Java 9 oder höher verwenden, die hier beschriebenen Schritte aus.

Injektionsmechanismus

WĂ€hrend der Roboter versucht, die Selektoren in der Java-Anwendung anzugeben oder zu validieren, ĂŒberprĂŒft er, ob die Erweiterungsdateien in den Zielanwendungsprozess geladen wurden.

Die Dateien können dort durch verschiedene Mechanismen vorhanden sein:

  • Die Erweiterung ist in der JRE installiert (fĂŒr Java 3 bis 8)
  • Sie werden aus einem benutzerdefinierten Ordner geladen (fĂŒr Java 3 bis 17, mit anderen Schritten nach Java 9)

Wenn die Erweiterungsdateien nicht vorhanden sind, versucht der Injektionsmechanismus, unsere Bridge zu starten.

Bisher hatte der Injektionsmechanismus einige Probleme und funktionierte nicht in allen FÀllen. Doch mit UIAutomation 22.2 ist der Injektionsmechanismus jetzt zuverlÀssiger und kann Anwendungen automatisieren, die zuvor nicht automatisiert werden konnten, z. B. .jnlp-Anwendungen, die mit Anwendungen von Drittanbietern gestartet werden, wie OWS oder IcedTea Web.

Zuvor war das Laden der Erweiterung aus einem benutzerdefinierten Ordner die Hauptmethode fĂŒr Anwendungen, die mit Java 9+ gestartet wurden. Jetzt sollte der Injektionsmechanismus diese Methode ersetzen und zu einer Absicherungsmethode machen.

Installieren der Erweiterung in einem benutzerdefinierten Ordner

FĂŒr Java 8 oder niedriger


Mit den folgenden Schritten installieren Sie die UiPath-Erweiterung fĂŒr Java an einem benutzerdefinierten Speicherort:

  1. Erstellen Sie auf Ihrer Maschine einen neuen Ordner, in dem Sie die UiPath-Erweiterung fĂŒr Java installieren möchten (z. B. C:\UiPathJavaExt), und kopieren Sie die folgenden Dateien dorthin:
    1.1. UiPathBridge.jar - befindet sich im Verzeichnis %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.
    1.2. UiPathJavaBridgeV8.dll und UiPathJavaBridgeV8_x64.dll, die sich im Verzeichnis %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath befinden. Es ist nicht notwendig, beide Dateien zu kopieren, aber es kann Probleme verhindern, die aufgrund von Versionsunterschieden zwischen der JRE und UiPathJavaBridge auftreten können.
  2. Der Setup-Mechanismus fĂŒr die Java-Erweiterung, der von UiPath zur Installation der Erweiterung verwendet wird, stellt die Dateien UiPathBridge.jar und accessibility.properties im Java-Installationsverzeichnis (normalerweise C:\Program Files (x86)\Java\jre1.8.0_xx) bereit. Um die UiPath-Erweiterung fĂŒr Java in einem benutzerdefinierten Ordner zu verwenden, muss die AbhĂ€ngigkeit fĂŒr diese Dateien wie folgt gelockert werden:
    2.1. FĂŒr die Datei UiPathBridge.jar mĂŒssen Sie den Ordner angeben, in den Sie UiPathBridge.jar und UiPathJavaBridgev8.dll kopiert haben. (z. B. C:\UiPathJavaExt), wenn Sie die Java-Anwendung starten, die die Erweiterung verwendet. Dies geschieht durch das Argument -Djava.ext.dirs = C:\UiPathJavaExt.
    2.2. FĂŒr die Datei accessibility.properties gibt es zwei Methoden:
    • FĂŒgen Sie den Parameter assistive_technologies=UiPath.UiPathBridge zur globalen Konfigurationsdatei accessibility.properties hinzu, die sich im Verzeichnis %userprofile% befindet. Bitte beachten Sie, dass sich diese Datei von der Datei unterscheidet, die von der UiPath-Erweiterung fĂŒr Java bereitgestellt wird, und dass ihre Einstellungen Vorrang vor den Einstellungen haben, die von der Java-Installation festgelegt wurden.
    • Verwenden Sie das Argument -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge, wenn Sie die Java-Zielanwendung ausfĂŒhren.

Systemeigenschaften mĂŒssen korrekt an die Java-Zielanwendung ĂŒbergeben werden. Dies kann durch verschiedene Methoden geschehen:

  • FĂŒgen Sie die Systemeigenschaft -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge in die Umgebungsvariable _JAVA_OPTIONS ein. Die JRE lĂ€dt die Eigenschaften aus der Umgebungsvariablen und der UiPath-Erweiterung fĂŒr Java, die in der Zielanwendung geladen sind.
  • Verwenden Sie den Befehl C:\Program Files (x86)\Java\jre1.8.0_xx\bin\java.exe -Djavax.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge -jar SwingSet2.jar in der Eingabeaufforderung. Es wird eine BestĂ€tigungsmeldung angezeigt, dass die UiPath-Erweiterung fĂŒr Java erfolgreich geladen wurde.
  • FĂŒgen Sie die Systemeigenschaft -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge in die Umgebungsvariable JAVA_TOOL_OPTIONS ein. Bitte beachten Sie, dass diese Methode nur mit Java 5 oder höher funktioniert.

Die Übergabe der Eigenschaften an ein Java-Applet erfolgt mit einer der folgenden Methoden:

  1. Verwenden der appletviewer.exe-Anwendung.

Bei dieser Methode mĂŒssen Sie zunĂ€chst die Datei .java.policy im Ordner %userprofile% erstellen, die Folgendes enthalten muss:

grant { 

    permission java.net.URLPermission "url_of_the_Java_applet", "*:*"; 

};

Sobald dies geschehen ist, muss das Ziel-Applet ĂŒber appletviewer.exe mit diesem Befehl gestartet werden:

C:\Program Files (x86)\Java\jre1.8.0_xx\bin\appletviewer.exe -J-Djava.ext.dirs=C:\UiPathJavaExt -J-Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge url_of_the_java_applet

  1. Verwendung der Java-Systemsteuerung, die in der JRE enthalten ist

In der Java-Systemsteuerung können Sie die Laufzeitparameter fĂŒr jede registrierte JRE angeben. Daher mĂŒssen Sie die
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
Parameter fĂŒr das Ziel-Applet angeben. Dadurch wird die UiPath-Erweiterung fĂŒr Java jedes Mal geladen, wenn das Java-Applet gestartet wird.

Die folgende Tabelle zeigt die KompatibilitÀt zwischen den oben verwendeten Methoden, Java-Versionen und verschiedenen Typen von Java-Anwendungen:

Application Type_JAVA_OPTIONSJAVA_TOOL_OPTIONSCommand Line ParametersJava Control Panel - Runtime Parameters
Java Desktop ApplicationJava 3 to Java 8Java 5 to Java 8Java 3 to Java 8Not Supported
Java Contained Application (.exe)Java 3 to Java 8Java 5 to Java 8Java 3 to Java 8 (1)Not Supported
Java AppletJava 3 to Java 8Java 5 to Java 8Not SupportedJava 3 to Java 8
Java Oracle FormsNot SupportedNot SupportedNot SupportedNot Supported

(1) - Je nach verwendetem Befehlszeilentool mĂŒssen möglicherweise zusĂ€tzliche Parameter durch die Umgebungsvariablen ĂŒbergeben werden.

FĂŒr Java 9 oder höher


Starting with Java 9, the Java Extension Mechanism is removed, which means that the -Djava.ext.dirs argument can not be used on Java 9 and greater applications.

Die Hauptidee hinter dem Laden der Erweiterung kann in drei Anforderungen unterteilt werden:

  1. FĂŒgen Sie den UiPathBridge.jar und UiPathServiceProvider.jar zum Klassenpfad der Anwendung hinzu.
  2. Machen Sie UiPathJavaBridgeV8.dll und UiPathJavaBridgeV8_x64 fĂŒr UiPathBrdige.jar sichtbar. Dies kann auf verschiedene Arten erfolgen:
  • Platzieren Sie die Dateien im selben Ordner mit UiPathBridge.jar;
  • Platzieren Sie die Dateien im Ordner ĂŒber UiPathBridge.jar;
  • FĂŒgen Sie die beiden Dateien zu einem Ordner hinzu und verweisen Sie ĂŒber eine Umgebungsvariable mit dem Namen UIPATH_JB_PATH auf dessen Pfad;
    Es ist nicht notwendig, auf beide Dateien zu verweisen, aber es kann Probleme verhindern, die aufgrund von Versionsunterschieden zwischen der JRE und UiPath Java Bridge auftreten können.
  1. Konfigurieren Sie die Anwendung so, dass unterstĂŒtzende Technologie geladen wird. Dies geschieht ĂŒber die accessibility.properties-Datei, die in den JREs platziert wird.

📘

Hinweis:

Die UiPathJavaServiceProvider.jar-Datei ist in den neuesten UiPath.UIAutomation.Activities-Paketen (neuer als 21.2 – Vorschau) verfĂŒgbar. Wenn Sie eine niedrigere Version von UIAutomation verwenden, kann die Datei durch vorĂŒbergehendes Upgrade einer leeren Workflowdatei auf 21.2 – Vorschau abgerufen werden. Dies fĂŒhrt dazu, dass eine neuere Version des UiPath.nuget-Pakets auf die Benutzermaschine (%UserProfile%\.nuget\packages\uipath) entpackt wird. Nach dem Abrufen der Datei kann das Paket auf die Version heruntergestuft werden, die vor dem Upgrade verwendet wurde.

Die ErfĂŒllung der obigen Anforderungen hĂ€ngt direkt von der Art und Weise ab, wie die Java-Anwendung gestartet wird. Es gibt drei gĂ€ngige Möglichkeiten, die Anwendung zu starten und die Erweiterung zu laden.

Anwendungen, die von den Dateien .jar, .bat oder .ps1 gestartet wurden

Betrachten wir den einfachen Fall, wenn die App direkt ĂŒber einfache .jar-Dateien gestartet wird: java -jar SwingSet2.jar
Die folgenden Schritte mĂŒssen durchgefĂŒhrt werden:

  1. Erstellen Sie auf Ihrer Maschine einen neuen Ordner, in dem Sie die UiPath-Erweiterung fĂŒr Java installieren möchten (z. B. C:\UiPathJavaExt), und kopieren Sie die folgenden Dateien dorthin:
  • UiPathBridge.jar und UiPathJavaServiceProvider.jar- befinden sich im Verzeichnis %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.
  • UiPathJavaBridgeV8.dll und UiPathJavaBridgeV8_x64.dll- befinden sich im Verzeichnis %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath.
  1. FĂŒgen Sie den zuvor erstellten Ordner dem Klassenpfad der Java-Zielanwendung hinzu. Dies geschieht mit dem Befehl -cp, -classpath. In diesem Beispiel betrachten wir SwingSet2 als Java-Zielanwendung:
    C:\Program Files (x86)\Java\jre1.9.0_xx \bin\java.exe -cp SwingSet2.jar;C:\UiPathJavaExt\* -Djavax.accessibility.assistive_technologies=UiPathJavaServiceProvider SwingSet2

Wenn die Anwendung ĂŒber eine .bat- oder eine .ps1Datei gestartet wird, dann muss die Datei mit einem Texteditor analysiert werden. Die Datei, die die Anwendung startet, enthĂ€lt eine Zeile, die dem Befehl java -jar SwingSet2.jar Ă€hnelt, aber sie enthĂ€lt auch viele andere Parameter. Der Befehl kann so geĂ€ndert werden, dass die Dateien in den Klassenpfad aufgenommen werden und der Parameter fĂŒr unterstĂŒtzende Technologien angegeben wird. Änderungen innerhalb dieser Dateien sollten mit Vorsicht vorgenommen werden. In einigen FĂ€llen werden der Klassenpfad und die zusĂ€tzlichen Parameter aus Umgebungsvariablen ausgewĂ€hlt, was eine weniger invasive Methode ist.

Anwendungen, die von .exe-Dateien gestartet wurden

Wenn die App ĂŒber eine .exe-Datei gestartet wird, mĂŒssen Sie eine alternative Möglichkeit finden, die Dateien auf den Klassenpfad zu laden und den Parameter fĂŒr die unterstĂŒtzende Technologie anzugeben.

  1. Um die Dateien aus dem Klassenpfad zu laden, können Sie nach Umgebungsvariablen suchen, die die ausfĂŒhrbare Datei liest, oder nach Konfigurationsdateien, die angeben, wo die AbhĂ€ngigkeiten geladen werden. Es gibt hier kein Standardverfahren und alles ist stark abhĂ€ngig vom Anpassungsgrad der ausfĂŒhrbaren Datei.
  2. Die unterstĂŒtzende Technologie kann in diesem Fall Ă€hnlich wie beim Installationsprogramm der Erweiterung angegeben werden. Die Standarddatei accessibility.properties kann in den %UserProfile%-Ordner verschoben und in .accessbility.properties umbenannt werden.

Anwendungen, die von .jnlp-Dateien gestartet wurden

Starting with UiAutomation v22.2, interacting with .jnlp type applications is done by default due to an upgrade of the existing injection mechanism.

UnterstĂŒtzung der Anwendungsskalierung

Die Skalierung wird fĂŒr Anwendungen ab Java-Version 9 ĂŒber Parameter vollstĂ€ndig unterstĂŒtzt. Sie können einer zu automatisierenden Java-Anwendung folgende Parameter hinzufĂŒgen, um die Skalierung zu ermöglichen:

  • sun.java2d.uiScale.enabled – Wird dieser Parameter nicht verwendet oder auf den genauen Stringwert „true“ festgelegt, wird er als wahr betrachtet und die folgende Skalierungskonfiguration wird berĂŒcksichtigt. Wird ein anderer Wert als „true“ eingegeben, (z. B. True, false, False, abc), gilt er als falsch es werden keine zusĂ€tzlichen Skalierungsanpassungen vorgenommen.
  • sun.java2d.uiScale – Werte können in drei Formen ĂŒbergeben werden:
    • Als VerhĂ€ltnis (0.5, 2.3, 1.5)
    • In Prozent (100 %, 150 %)
    • Als dpi-Werte (96 dpi, 120 dpi). Es wird berĂŒcksichtigt, ob die Skalierung aktiviert ist. Die Skalierung wird auf beiden Achsen geĂ€ndert.
  • sun.java2d.win.uiScaleX, sun.java2d.win.uiScaleY – Werte können wie beim Parameter sun.java2d.uiScale ĂŒbergeben werden. Beide mĂŒssen von der Java-Anwendung berĂŒcksichtigt werden. Sie sind spezifischer als die allgemeine Konfiguration der Skalierung. Wenn alle 3 Parameter festgelegt werden, werden nur diese berĂŒcksichtigt.

Aktualisiert vor 4 Monaten

Erweiterung fĂŒr Java


Auf API-Referenzseiten sind ÄnderungsvorschlĂ€ge beschrĂ€nkt

Sie können nur Änderungen an dem Textkörperinhalt von Markdown, aber nicht an der API-Spezifikation vorschlagen.