1. 概要
Script Starterは、1つ以上のT-Plan Robot Enterprise TPRおよび/またはJavaテストスクリプトを並行して実行できるスタンドアロンツールです。これにより、単一のT-Plan Robot Enterpriseインスタンスから複数のテスト対象システム(SUT)をテストできます。
このツールは、Developing Java Test ScriptsドキュメントおよびProgram Level Execution And Load Testingチュートリアルトピックに記載されているマルチスレッドスクリプト実行の原則を実装したシンプルなJavaプログラムです。このツールは、scriptstarter-src.zipファイルにソースコード付きで配布されており、T-Plan Robot Enterpriseのお客様は自由に使用・再利用できます。
2. インストール
このツールにはJava SE 1.6(JREまたはJDK)およびT-Plan Robot Enterprise 2.0以降が必要です。Java実行ファイルはシステムパス上にある必要があります。これは、RobotのリリースノートのJava Requirementsの章に記載されている手順で確認できます。Javaがシステムパス上にない場合は、java呼び出しを、以下のALTERNATIVE 2内でフルパスに置き換える必要があります。例えば"C:\Program Files\Java\jdk1.6.0_<version>\bin\java"のようにします。
インストール方法は2種類あります:
-
ALTERNATIVE 1: ツールをRobotのインストールフォルダに解凍します。この方法では、常にRobotのインストールディレクトリに移動(
cd)してからそこで実行する必要があります。 -
ALTERNATIVE 2: ツールを任意の場所に解凍します。その後、任意の場所からツールを呼び出せるように
scriptstarter.bat(MS Windows)またはscriptstarter.sh(Linux、Unix & Mac OS)ファイルを更新します:
起動コマンド内の
robot.jarを、そのファイルへのフルパスに置き換えます。起動コマンド内の
scriptstarter.jarを、そのファイルへのフルパスに置き換えます。例えば、MS Windows上でRobotが
C:\Program Files\T-Plan\Robotにインストールされており、ツールをC:\ScriptStarterに解凍した場合、起動コマンドは次のようになります:
java -Xmx512m -cpC:\ScriptStarter\scriptstarter.jar;"C:\Program Files\T-Plan\Robot\robot.jar" StartScripts %1 %2 %3 %4 %5 %6 %7 %8 %9
.batまたは.shファイル内のJavaコマンドは、コマンドプロンプト(ターミナル)から直接、あるいはスケジューラなどのサードパーティ製アプリケーションから自然に実行できます。-Xmx512mパラメータは、メモリをツール(およびRobot)が最大でどれだけ使用できるかを定義します。この場合は512MBです。並行して実行するテストスクリプトの数が多い大規模な展開では、ツールがメモリ不足に陥らないよう、この上限を引き上げることをお勧めします。メモリ最適化の原則は、RobotのリリースノートドキュメントのOptimizing Performanceの章に記載されています。
3. 使用方法
起動するテストスクリプトは、プレーンテキストファイルで指定する必要があります。空行および#で始まる行は無視されます。それ以外の行には、単一のT-Plan RobotプロセスのCLIパラメータを指定する必要があります。サポートされているCLIオプションの完全な一覧については、CLI Referenceドキュメントを参照してください。
例えば、以下のテキストファイルは、Script1.tprおよびScript2.tprテストスクリプトを、2つの異なるVNC環境で並行して実行します:
# rfb://192.168.100.7:5900のVNCサーバーでScript1.tprを起動します
-c rfb://192.168.100.7:5900 -r C:\MyProject\tpr\Script1.tpr -n
# rfb://192.168.100.11:5900の別のVNCサーバーでScript2.tprを起動します
-c rfb://192.168.100.11:5900 -r C:\MyProject\tpr\Script2.tpr -n各スクリプト行には、少なくとも実行するスクリプトを定義する-r/--runパラメータを含める必要があります。この行では、スクリプトを開始する前に指定したSUTにプロセスを接続させるために、任意で-c/--connectオプションを呼び出すこともできます。あるいは、スクリプト自体がConnectコマンド(TPRテストスクリプト)またはconnect()メソッド(Javaテストスクリプト)の呼び出しを通じて接続を確立することもできます。パフォーマンス上の理由から、両方の方法を同時に使用することは推奨されません。接続が2回確立されてしまうためです。
スクリプトに外部データを渡すには、-v/--variableスイッチを使用します。例えば、以下の2行は同じスクリプトを2つの異なる環境で起動し、それぞれのプロセスが異なる値のセットを取得します:
-c rfb://192.168.100.7:5900 -r C:\MyProject\tpr\Script1.tpr -n -v "DATAFILE=C:\My Data\data1.xls" -v "MODE=modeA"
-c rfb://192.168.100.11:5900 -r C:\MyProject\tpr\Script1.tpr -n -v "DATAFILE=C:\My Data\data2.xls" -v "MODE=modeB"
GUIでは並行実行がサポートされていないため、行が-n/--nodisplayオプションを指定しているかどうかにかかわらず、スクリプトは常にCLIモードで実行されます。上記の例では、わかりやすさのためにこのオプションを記載しています。
テストスクリプトを実行するには、scriptstarter.bat(MS Windows)またはscriptstarter.sh(Linux、Unix & Mac OS)ファイルを起動し、テキストファイルを引数として渡します。上記のALTERNATIVE 2で説明されているようにファイルを更新していない場合は、インストールディレクトリに移動してそこから実行する必要があります。
MS Windows:
scriptstarter.bat <text_file>
Linux、Unix & Mac OS:
./scriptstarter.sh <text_file>
例えば、上記のサンプルファイルをC:\My Data\scripts.txtとしてMS Windowsに保存した場合、以下を実行してスクリプトを起動します:
scriptstarter.bat "C:\My Data\scripts.txt"
並行スクリプト実行には、複数シート分のライセンスキーおよび/または複数の有効なキーが必要になることに注意してください。実行中のプロセス数がライセンス済みシート数を超えた場合、Robotは他のプロセスが終了するまで、超過分のプロセスを保留状態にします。