実行可能パッケージ
1. 概要
executable packageとは、単一のZIPファイル内にパッケージ化された自動化のことです。これは以下を目的としています:
-
自己完結型。自動化コード(スクリプト、workitem、テンプレート画像)、データ(例えばMS Excelシート)、設定ファイル、および自動化の実行に必要なその他すべてを含みます。
-
すぐに実行可能。自動化を実行するには、解凍してスタートスクリプトを実行するか、インストール済みのRobotインスタンスにパッケージを渡すだけです。クリーンな環境での自動化のために、パッケージには独自のRobotインスタンスとJavaを含めることもできます。
-
セキュア。機密情報を隠すために自動化コードを暗号化できます。
-
再配布可能かつ管理可能。自動化を実行するために他のユーザーにパッケージを配布することも、それを行うためのRAPシステムを用意することもできます。RAPがない場合でも、RAP Agentを使用してローカルマシン上でパッケージを管理できます。
実行可能パッケージはRobotリリース7以降でサポートされています。
2. パッケージの作成
リリース7.0以降、パッケージは自動化環境の読み取り専用スナップショットです。既存のパッケージの編集はサポートされていません。新規に作成することのみ可能です。これは将来変更される可能性があります。
パッケージを作成するには、以下のいずれかの方法でBuild Executable Package ウィザードを開きます:
-
メインのRobot GUIで
Ctrl+Eを押す -
Script→Build executable packageメニュー項目を選択する
-
このメニュー項目は、スクリプトまたはworkitemの右クリックコンテキストメニューにも表示されます。
最初の画面では、パッケージによって実行されるスクリプト(.tpr、.java)またはworkitem(.xml)を選択します:
スクリプトやworkitemが同じプロジェクト内の他のスクリプトやworkitemに依存していても心配ありません。ウィザードは、レポートやImage Doctorデータなどの実行時データを含む一部のフォルダを除き、常にプロジェクト全体をパッケージ化します。これにはいくつかの重要な影響があります:
-
プロジェクトは小さく保ちます。異なる自動化タスクには別々のプロジェクトを使用してください。
-
コードが例えばMS Excelシートのような外部データに依存している場合は、そのファイルをプロジェクト内に保存し、相対パスでアクセスするようコードを更新してください。
-
プロジェクトに機密情報が含まれる場合は、暗号化を検討してください。
7.0.2リリース以降、この画面はファイルベースの可搬性の問題をチェックします。選択したスクリプトまたはworkitemが絶対ファイルパスを使用している場合、またはプロジェクト外にあるファイルに依存している場合、警告が表示されます。パッケージを作成する前にこのような問題を解決することをお勧めします。
2番目の画面では、選択したworkitemまたはスクリプトの入力パラメータを設定します:
-
Workitemは、Workitem Editorでパラメータを宣言します。
-
スクリプトはパラメータを宣言しません。ただし、この画面には、Varコマンドを通じてスクリプトが宣言した変数の名前が一覧表示され、必要に応じてその値をオーバーライドできます。これは、-v/--variable CLIオプションで値を固定するのと同じ効果があります。
次の画面ではパッケージタイプを定義します:
-
Lightweight パッケージには、プロジェクトのみが含まれます。そのサイズはコード、コンポーネント画像、データの量に左右されるため、通常は非常に小さくなります。Robotが正しくインストールおよび設定されているマシンでのみ実行できます。パッケージにRobotの場所を伝える必要はありません。既知の場所にあるRobotの設定ファイルを読み取ることで自動的に検出されます。このパッケージタイプの欠点は、自動化がプラグインやカスタムJavaライブラリのようなオプションのコンポーネントに依存している場合、対象マシンにも同様にそれをインストールする必要がある点です。
-
Fullパッケージには、Robotインスタンスのコピーが含まれます。プラグインをインストールしていたり、インストールフォルダにファイルを保存していたりする場合、それらもパッケージ化されます。Javaがインストールされていないマシン用のパッケージを作成するために、Javaインスタンスをオプションで追加することもできます。この方法の欠点はサイズです。Robot、Java、およびChromiumのような大きなプラグインを含むFullパッケージは、簡単に500MBを超えることがあります。JavaやChromiumなどの一部のプラグインはOS固有であるため、パッケージも単一のOSでのみ動作します。
この画面では、いくつかの追加設定が提供されます。パッケージ内のプロジェクトを任意で暗号化できます。対象のRobotインスタンスが元のものと同じように動作するように、Robotの設定ファイルを追加することもできます。
バージョン7.0.2は可搬性の問題をチェックし、最適なオプションを事前に選択します。
次の画面ではパッケージ属性が設定されます:
パッケージの表示名、説明、作成者、バージョンなど、わかりやすいフィールドがあります。最小Robotバージョンや、パッケージが実行可能なオペレーティングシステムなど、対象環境を制限できる任意のフラグもいくつかあります。
-
最小Robotバージョンは、自動化が特定のリリースで提供された機能に依存している場合に通常強制されます。確信が持てない場合は、有効にしておく方が安全です。後でFull パッケージタイプを選択した場合、パッケージにRobotインスタンスが含まれるため、このフラグはいずれにせよ無視されます。
選択したタイプがFull の場合、次の画面はJava:になります
RobotプラグインとしてインストールされたJavaのみをパッケージ化することも可能です。まだインストールしていない場合は、Installを選択してください。パッケージ化用のJavaのインストールには再起動が不要なため、ウィザードに戻ることができます。
最後の画面では対象のパッケージファイルを指定します:
RAP Agentがインストールされている場合、この画面はそれをエージェントストレージに配置することを提案します。これにより、エージェントウィンドウでの共有と実行にすぐに利用できるようになります。
Finishを押すと、パッケージが作成されます。zipファイルの中身を確認すると、次のようになります:
ファイルは以下のとおりです:
-
プロジェクトは、暗号化される可能性のある
project.zipファイルに保存されます。 -
Javaを含むRobotインスタンスは
robot/フォルダにあります。 -
package.propertiesファイルにはパッケージ属性が保存されます。 -
rap/フォルダは、RAPシステムとの互換性を確保するための内部的なものです。 -
start.batおよびstart.shファイルはスタートスクリプトです。
3. パッケージの実行
パッケージは3つの方法で実行できます:
-
ハードドライブ上でパッケージを解凍し、
start.batスクリプト(MS Windows)またはstart.sh(Mac OS、Linux/Unix)を実行します。このスクリプトは、パッケージタイプ(内部/外部)に応じてRobotインスタンスを検索し、必要なすべてのパラメータを渡します。 -
-r/--run CLIオプションを通じて、すでにインストール済みのRobotインスタンスにZIPファイルを渡します。パッケージがFullタイプの場合、内部に含まれるRobotおよびJavaインスタンスは無視されます。
-
RAP Agentを通じてパッケージを実行します。