- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- 診断ツール
- ワークフロー アナライザー
- 変数
- 引数
- インポートされた名前空間
- レコーディング
- UI 要素
- 制御フロー
- セレクター
- オブジェクト リポジトリ
- データ スクレイピング
- 画像とテキストの自動化
- Citrix テクノロジの自動化
- RDP の自動化
- Salesforce の操作の自動化
- SAP のオートメーション
- VMware Horizon の自動化
- ログ
- ScreenScrapeJavaSupport ツール
- Webdriver プロトコル
- Test Suite - Studio
- 拡張機能
- トラブルシューティング
Java 向け拡張機能
現在、Java 拡張機能は、Java 3 から Java 15 までの、任意のバージョンの JRE に対応しています。
次の手順で UiPath Java 拡張機能をインストールします。
- まず、実行中の Java アプリケーションをすべて閉じます。Studio を起動して、Studio の Backstage ビューから [ツール] タブにアクセスします。インストールする拡張機能が表示されます。[Java 拡張機能] ボタンをクリックします。拡張機能がインストールされたことを知らせる確認メッセージが表示されます。
- 管理者権限にて、コマンド プロンプト ウィンドウで
C:\Program Files\UiPath\Studio\UiPath\SetupExtensions.exe /Java
コマンドを実行します。
Studio と UI Explorer は、Java アプリ内でコントロールを選択しようとしたときにブリッジが検出されないと UiPath Java 拡張機能をインストールするように要求します。UI Explorer によってプロンプトが表示されたときに UiPath 拡張機能をインストールすることを選択すると、Java Bridge ファイルは JDK ディレクトリではなくターゲット Java アプリケーションを起動した JRE ディレクトリにのみデプロイされます。
拡張機能が正しく動作していないかどうかを確認するには、UI Explorer を開き、Java アプリケーション内のコントロールを選択してください。ウィンドウ全体が選択されている場合は、拡張機能が正しく機能していないことを意味しています。
- Java コントロールの有効なセレクター:
<wnd app=”...” /><java role=”...” />
- Java コントロールの無効なセレクター:
<wnd app=”...” /><ctrl role=”client” />
cls
属性 (ウィンドウ クラス名) を確認します。クラス名は、SunAwtFrame
または javax.swing
のようになっているはずです。
プロセスは、その DPI スケーリングに関係なく、Java アプリケーションを操作できます。
UiPath Java 拡張機能のインストールは、ScreenScrapeJavaSupport ツールを使用して行うこともできます。
Studio (および ScreenScrapeJavaSupport) に埋め込まれた Java 拡張機能インストーラーでは、拡張機能のメカニズムを使用して、JRE により拡張機能が読み込まれます。Java 9 以降、拡張機能のメカニズムは廃止されました。そのため、インストーラーは必要なファイルを JRE に追加できません (詳しくは、こちらをご覧ください)。
したがって、Java アプリケーションが Java 9 以降を使用している場合は、こちらに記載されている手順に従う必要があります。
UiPath Java 拡張機能のインストール場所をカスタマイズするには、以下の手順を実行する必要があります。
- UiPath Java 拡張機能をインストールするマシン上に新しいフォルダーを作成し (例:
C:\UiPathJavaExt
)、そこに次のファイルをコピーします。UiPathBridge.jar
-%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport
ディレクトリにあります。UiPathJavaBridgeV8.dll
およびUiPathJavaBridgeV8_x64.dll
は%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath
ディレクトリにあります。両方のファイルをコピーする必要はありませんが、両方コピーすることで、JRE と UiPath Java Bridge 間のバージョンの不適合によって発生する恐れのある問題を予防できます。
- UiPath が拡張機能をインストールするときに使用する Java 拡張機能セットアップ メカニズムでは、Java のインストール ディレクトリ (通常は
C:\Program Files (x86)\Java\jre1.8.0_xx
) に、UiPathBridge.jar
とaccessibility.properties
ファイルをデプロイします。カスタム フォルダーから UiPath Java 拡張機能を使用するには、次の手順に従い、これらのファイルの依存関係を緩める必要があります。UiPathBridge.jar
ファイルについては、拡張機能を使用する Java アプリケーションを開始する際に、UiPathBridge.jar
およびUiPathJavaBridgev8.dll
ファイルをコピーしたフォルダー (C:\UiPathJavaExt
など) を指定する必要があります。-Djava.ext.dirs = C:\UiPathJavaExt
引数を使用して指定します。accessibility.properties
ファイルについては、次の 2 つの方法があります。%userprofile%
ディレクトリにある、グローバル設定ファイルaccessibility.properties
にassistive_technologies=UiPath.UiPathBridge
パラメーターを追加します。このファイルは、UiPath Java 拡張機能によってデプロイされるものとは異なり、その設定は Java のインストールによる設定よりも優先されることに注意してください。- 対象の Java アプリケーションを実行するときに、引数
-Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
を使用します。
システム プロパティを適切に対象の Java アプリケーションに渡す必要があります。それには、いくつかの方法があります。
_JAVA_OPTIONS
環境変数に、-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
システム プロパティを含めます。JRE が環境変数のプロパティ、および対象のアプリケーションに読み込まれた UiPath Java 拡張機能のプロパティを読み込みます。- コマンド プロンプトで
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
コマンドを使用します。UiPath Java 拡張機能が正常に読み込まれたことを確認するメッセージが表示されます。 JAVA_TOOL_OPTIONS
環境変数に、-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
システム プロパティを含めます。この方法は、Java 5 以降にしか使用できないことに注意してください。
プロパティを Java アプレットに渡すには、次のいずれかの方法を使用します。
appletviewer.exe
アプリケーションを使用するこの方法では、はじめに%userprofile%
フォルダー内に.java.policy
ファイルを作成し、そこに以下の記述を含める必要があります。grant { permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; };
grant { permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; };それが完了したら、対象のアプレットを次のコマンドとともにappletviewer.exe
から起動する必要があります。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
- JRE で提供される Java コントロール パネルを使用します。
Java コントロール パネルでは、登録した JRE ごとにランタイム パラメーターを指定できます。そのため、対象のアプレットに
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
パラメーターを指定する必要があります。これにより、Java アプレットが起動するたびに UiPath Java 拡張機能が読み込まれるようになります。
下表は、上記の方法がサポートされている Java のバージョンとJava アプリケーションの種類を示したものです。
アプリケーションの種類 |
_JAVA_OPTIONS |
JAVA_TOOL_OPTIONS |
コマンド ライン パラメーター |
Java コントロール パネル - ランタイム パラメーター |
---|---|---|---|---|
Java デスクトップ アプリケーション |
Java 3 から Java 8 |
Java 5 から Java 8 |
Java 3 から Java 8 |
サポートされません |
Java を含むアプリケーション (
.exe )
|
Java 3 から Java 8 |
Java 5 から Java 8 |
Java 3 から Java 8 (
1 )
|
サポートされません |
Java アプレット |
Java 3 から Java 8 |
Java 5 から Java 8 |
サポートされません |
Java 3 から Java 8 |
Java Oracle フォーム |
サポートされません |
サポートされません |
サポートされません |
サポートされません |
1
) - 使用するコマンド ライン ツールによっては、環境変数を介して他にもパラメーターを渡す必要が生じる場合があります。
-Djava.ext.dirs
引数を使用できないことを意味します。
拡張機能を読み込むには、以下の 3 つの要件を満たす必要があります。
UiPathBridge.jar
およびUiPathServiceProvider.jar
をアプリケーションのクラスパスに追加します。-
UiPathJavaBridgeV8.dll
およびUiPathJavaBridgeV8_x64
がUiPathBrdige.jar
に表示されるようにします。その方法は、以下のようにいくつかあります。- ファイルを
UiPathBridge.jar
と同じフォルダーに配置 - ファイルを
UiPathBridge.jar
が配置されているフォルダーより上のフォルダーに配置 - 2 つのファイルを同じフォルダーに追加して、そのパスを環境変数
UIPATH_JB_PATH
を使用して参照両方のファイルを参照する必要はありませんが、両方参照することで、JRE と UiPath Java Bridge 間のバージョンの不適合によって発生する恐れのある問題を防ぐことができます。
- ファイルを
- 支援技術を読み込むアプリケーションを設定します。それには、JRE 内に配置されている
accessibility.properties
ファイルを使用します。注:UiPathJavaServiceProvider.jar
ファイルは、最新の UiPath.UIAutomation.Activities パッケージ (21.2-preview より新しいバージョン) で利用できます。古いバージョンの UI Automation パッケージを使用している場合は、空のワークフロー ファイルを 21.2-preview に一時的にアップグレードすれば、ファイルを取得できます。そうすると、新しいバージョンのUiPath.nuget
パッケージがユーザーのマシン (%UserProfile%\.nuget\packages\uipath
) に解凍されます。ファイルの取得後、パッケージのアップグレード前に使用していたバージョンにダウングレードできます。
上記の要件を満たせるかどうかは、Java アプリケーションの起動方法によって異なります。アプリケーションを起動して拡張機能を読み込むには、3 つの一般的な方法があります。
.jar
、.bat
、または .ps1
ファイルから開始されるアプリケーション
java -jar SwingSet2.jar
コマンドを使用して簡単な .jar
ファイルから直接アプリを起動する方法について説明します。以下の手順を実行する必要があります。
- UiPath Java 拡張機能をインストールするマシン上に新しいフォルダーを作成し (例:
C:\UiPathJavaExt
)、そこに次のファイルをコピーします。UiPathBridge.jar
およびUiPathJavaServiceProvider.jar
-%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport
ディレクトリにあります。UiPathJavaBridgeV8.dll
およびUiPathJavaBridgeV8_x64.dll
-%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath
ディレクトリにあります。
- 手順 1 で作成したフォルダーを対象の Java アプリケーションのクラス パスに追加します。
-cp, -classpath
コマンドを使用して追加できます。この例では、対象の Java アプリケーションがSwingSet2
であるとします。C:\Program Files (x86)\Java\jre1.9.0_xx \bin\java.exe -cp SwingSet2.jar;C:\UiPathJavaExt\* -Djavax.accessibility.assistive_technologies=UiPathJavaServiceProvider SwingSet2
.bat
ファイルまたは .ps1
ファイルを使用して起動される場合、ファイルをテキスト エディターで分析する必要があります。アプリケーションを起動するファイルには、コマンド java -jar SwingSet2.jar
に似た行のほか、多くのパラメーターも含まれています。コマンドは変更可能であり、クラスパスにファイルを追加したり、支援技術のパラメーターを指定したりできます。なお、これらのファイル内の変更は慎重に行う必要があります。場合によっては、クラスパスと追加のパラメーターが環境変数から取得されることがあります。これは、より非侵略的な方法です。
.exe
ファイルから開始されるアプリケーション
exe
ファイルを使用してアプリを起動する場合は、別の方法でファイルをクラスパスに読み込み、支援技術のパラメーターを指定する必要があります。
- クラスパスからファイルを読み込むには、実行可能ファイルが読み込む環境変数や、依存関係の読み込み場所を指定する設定ファイルを検索します。その方法は 1 つだけではなく、実行可能ファイルのカスタマイズのレベルにより大きく異なってきます。
- この場合は、支援技術を拡張機能インストーラーと同様の方法で指定できます。標準の
accessibility.properties
ファイルを%UserProfile%
フォルダーに移動して、名前を.accessbility.properties
に変更できます。
.jnlp
ファイルから開始されるアプリケーション
.jnlp
ファイルを使用してアプリケーションを起動する場合は、以下のことを考慮する必要があります。
UiPathBridge,jar
およびUiPathServiceProvider.jar
を.jnlp
ファイルに依存関係として追加して読み込む必要があります。これにより、サーバーは既存のファイルを編集するのではなく、新しい.jnlp
ファイルを提供します。- 2 つの
.dll
ファイルは、.jnlp
ファイル内に読み込むことも、UIPATH_JB_PATH
環境変数を使用して参照することもできます (手順については上記を参照)。 assistive_technology
プロパティを.jnlp
ファイルに追加することもできます。また、accessibility.properties
ファイルを%UserProfile%
に配置することもできます。
パラメーターにより、Java 9 以降のアプリケーションでスケーリングが完全にサポートされます。スケーリングのサポートを有効化するために、自動化する Java アプリケーションに以下のパラメーターを追加することを検討してください。
sun.java2d.uiScale.enabled
- 未使用の場合または「true」の正確な文字列値に設定されている場合は true と見なされ、以下のスケーリング設定が考慮されます。「true」以外の値 (True、false、False、abc など) に設定すると、false と見なされ、追加のスケーリング調整は行われません。-
sun.java2d.uiScale
- 値は以下の 3 つの形式で渡されます。- 率 (0.5、2.3、1.5)
- パーセンテージ (100%、150%)
- DPI 値 (96dpi、120dpi)。スケーリングが有効な場合に考慮されます。両方の軸でスケーリングを変更します。
sun.java2d.win.uiScaleX, sun.java2d.win.uiScaleY
-sun.java2d.uiScale
パラメーターの場合に値を渡すことができます。どちらも Java アプリケーションで考慮されなければならない、不可欠な値です。これらはスケーリングの一般的な設定よりも具体的な値であり、3 つのパラメーターがすべて設定されている場合は、これらの値だけが考慮されます。