CLI ツールを使用したシナリオの実行

このトピックでは,コマンド・ライン・インタフェース(CLI)ツールを使用して,シナリオ実行を自動化する方法について説明します。

CLI ツールを使用すると,LoadRunner Professional シナリオ(.lrs)ファイルまたは XML 入力ファイルを使用して,コマンド・プロンプトから負荷テスト・シナリオを実行できます。

シナリオの実行に先立って XML 入力を作成することで,以下のような完全に DevOps 指向のフローに対応できます。

  • 任意のソース・コントロールからのスクリプトのプル
  • Docker 化された Load Generator の動的な割り当て
  • 任意の CI ツールからのシナリオの実行

CLI ツールの起動

  1. 前提条件: Controller マシンへのログインに使用したユーザ名とパスワードが,Controller の実行に使用されます。別のユーザ資格情報を使用する場合は, LoadRunner Professional ルート>\bin\CLIControllerApp.exe.config<appSettings> タグで定義します。
  2. 下記の「コマンド・ラインの書式」の説明に従って引数を追加して,LoadRunner Professional ルート>\bin にある CLIControllerApp.exe を実行します。

先頭に戻る

コマンド・ラインの書式

コマンド・ライン引数の書式は,次のとおりです。

–{実行タイプ} –{ファイル・パス} –{実行後のコマンド} –{結果の名前} –{結果のパス}

引数
説明

実行タイプ

(必須)

  • InputFile: テストの入力データが *.xml 形式で提供される場合に使用します。XML 入力ファイルには,「XML 入力ファイル」で説明している構造が必要です。
  • TestPath: 既存の *.lrs ファイルのデータを使用してテストを実行する場合に使用します。

ファイル・パス

(必須)

ファイルの有効な Windows パス。

  • 実行タイプが Inputfile の場合,このファイルは CLI 形式の *.xml ファイルです。以下の 「XML 入力ファイル」を参照してください。
  • 実行タイプが TestPath の場合,このファイルは *.lrs ファイルであることが必要です。

実行後のコマンド

(必須)

実行が終了したときに行う内容を指定します。

  • Run: シナリオを実行するのみです。
  • Collate: シナリオを実行します。シナリオの実行が終了すると,結果が照合されます。
  • CollateAndAnalyze: シナリオを実行します。シナリオの実行が終了すると,結果の照合と分析が行われます。

結果の名前

(任意)

結果を保存するフォルダの定義に使用します。後ろに,結果のパスを続ける必要があります。

書式: -ResultName <結果のパス>

結果のパス

(任意)

この引数は,結果が照合されるフォルダを表します。この前には必ず -ResultName を置きます。これは,有効なフォルダ・パスであることが必要です。

書式: -ResultName<結果のパス>

先頭に戻る

CLI コマンドのサンプル

以下は,テストの自動化を実行するコマンドのサンプルです。

  • XML 入力ファイルを使用したテスト実行:

    <LoadRunner Professional ルート>\bin\CLIControllerApp.exe -InputFile C:\CLI.xml -CollateAndAnalyze -ResultName C:\ControllerResultPath\Res_01

  • 既存の *.lrs ファイルを使用したテスト実行:

    <LoadRunner Professional ルート>\bin\CLIControllerApp.exe -TestPath C:\testName.lrs -CollateAndAnalyze -ResultName C:\ControllerResultPath\Res

先頭に戻る

XML 入力ファイル

XML 入力ファイルには,次の構造を持つ CLIRun 要素が含まれています。

                    <?xml version="1.0"?>
-<CLIRun>

	-<Groups>
		-<Group>
			<Name>{グループ名}</Name>
			<Vusers>{仮想ユーザ数}</Vusers>
			-<Script>
				<Name>{スクリプトの名前}</Name>
				<Path>{スクリプトのフル・パス}</Path>
				<JMeterPath>{スクリプトの JMeter のパス}</JMeterPath>
				<JMeterAdditionalPropertiesFilePath>{JMeter の追加プロパティが含まれているファイルのパス}</JMeterAdditionalPropertiesFilePath>
					<!--JMeter プロトコル・タイプのスクリプトの場合にのみ使用-->
			</Script>
			-<AssignedHosts>
				<!-- 注: ここで定義するホストは,下の Hosts セクションでも必ず定義してください-->
				<HostName>{グループで使用されるホストの名前}</HostName>
				<HostName>...</HostName>
			</AssignedHosts>
		</Group>
	</Groups>

	-<Hosts>
		-<Host>
			<Name>{ホスト名}</Name>
			<Installation>{この要素で許容される値: 'Unix' または 'Windows'}</Installation>
			<IsOverFirewall>{この要素で許容される値: 'true' または 'false'}</IsOverFirewall>
		</Host>
	</Hosts>


	-<Scheduler>
		<Name>{スケジューラ名}</Name>
		-<Data>
			<Duration>{テストの実行時間(秒)}</Duration>
		</Data>
	</Scheduler>

</CLIRun>

CLIRun 要素には,次の 3 つのセクションがあります。

  • Groups: テストで使用されるすべてのグループのリスト
  • Hosts: グループで使用可能にするすべてのホストのリスト
  • Scheduler: スケジューラの詳細
要素
説明
Group

グループ・リスト内のグループ。

  • 名前: グループの名前。
  • 仮想ユーザ: グループ内の仮想ユーザの数。正の整数値のみ。
  • スクリプト: グループによって使用されるスクリプト。詳細については,以下のスクリプト要素を参照してください。
  • AssignedHosts: 1 つ以上の HostName 要素を含みます。
  • HostName: 定義されているホストの名前と同一。詳細については,以下のホスト要素を参照してください。

スクリプト

グループによって使用されるスクリプト。

  • Name: スクリプトの名前。
  • Path: スクリプト・ファイルが含まれる *.zip ファイルの有効なパス。
  • JMeter プロトコル・スクリプトの場合のみ(必須):

    • JMeterPath: JMeter インストールの有効なパス。

    • JMeterAdditionalPropertiesFilePath: JMeter の追加プロパティが含まれているファイルの有効なパス。

Host

ホスト・リスト内のホスト。グループで使用。詳細については,上記の Group 要素を参照してください。

  • 名前: ホストの名前。
  • Installation: UNIX,WINDOWS
  • IsOverFirewall: ブール値: TRUE,FALSE
Scheduler

シナリオ実行の継続時間を決定します。

  • 名前: スケジューラ名。
  • Data: Duration タグを含みます。
  • Duration: シナリオ実行の継続時間(秒単位)。正の整数値のみ。

先頭に戻る

XML 入力ファイルのサンプル

JMeter および WebHTTP の XML 入力ファイルのサンプルを以下に示しています。

JMeter XML 入力ファイルのサンプル

<CliRun>
	<Groups>
		<Group>
			<Name>JMeter1</Name>
			<Vusers>1</Vusers>
			<Script>
				<Name>simple_test</Name>
				<Path>C:\Protocols\JmeterSimple_test\</Path>
				<JMeterPath>C:\Protocols\JmeterSimple_test\</JMeterPath>
				<JMeterAdditionalPropertiesFilePath>C:\Protocols\JmeterSimple_test\simple_test.properties</JMeterAdditionalPropertiesFilePath>
			</Script>
			<AssignedHosts>
				<HostName>localhost</HostName>
			</AssignedHosts>
		</Group>
	</Groups>
	<Hosts>
		<Host>
			<Name>WIN-2AKM2PQEN8J</Name>
			<Installation>Windows</Installation>
			<IsOverFirewall>false</IsOverFirewall>
		</Host>
		<Host>
			<Name>localhost</Name>
			<Installation>Windows</Installation>
			<IsOverFirewall>false</IsOverFirewall>
		</Host>
	</Hosts>
	<Scheduler>
		<Name>Scheduler 1</Name>
		<Data>
			<Duration>120</Duration>
		</Data>
	</Scheduler>
</CliRun>

Web HTTP XML 入力ファイルのサンプル

次のコードは,Web HTTP の XML 入力ファイルを示しています。

                <CliRun>
	<Groups>
		<Group>
			<Name>a1</Name>
			<Vusers>2</Vusers>
			<Script>
				<Name>kali</Name>
				<Path>C:\Users\Administrator\Documents\VuGen\Scripts\kali</Path>
			</Script>
			<AssignedHosts>
				<HostName>localhost</HostName>
			</AssignedHosts>
		</Group>
	</Groups>
	<Hosts>
		<Host>
			<Name>WIN-2AKM2PQEN8J</Name>
			<Installation>Windows</Installation>
			<IsOverFirewall>false</IsOverFirewall>
		</Host>
		<Host>
			<Name>localhost</Name>
			<Installation>Windows</Installation>
			<IsOverFirewall>false</IsOverFirewall>
		</Host>
	</Hosts>
	<Scheduler>
		<Name>Scheduler 1</Name>
		<Data>
			<Duration>120</Duration>
		</Data>
	</Scheduler>
</CliRun>

先頭に戻る

CLI ツールを使用したテスト実行の注意事項

コマンド・ラインから Controller を起動するときは,次の制限があります。

  • 一度に実行できる Controller のインスタンスは 1 つのみです。

  • 引数の大文字と小文字は区別されます。

  • Controller は,必ず結果を上書きします。

  • コマンド・ラインから起動した Controller は,-Run オプションを指定した場合を除き,通常どおりに動作します。-Run オプションを使用する場合,通常の起動で開き,ユーザが閉じる必要があるダイアログ・ボックスとメッセージ・ボックスは,コマンド・ライン起動では開きません。

  • Controller の設定は <LR installation>\config フォルダに格納されている wlrun7.ini から読み込まれます。

  • CLI ツールの実行に使用するユーザ・アカウントには,次のプロパティ設定が必要です。

    • パスワードを無期限にする]を選択する必要があります。
    • ユーザーは次回ログオン時にパスワードの変更が必要]は選択しないでください。
  • アプリケーションが終了して,エラー・コードが表示された場合は,Microsoft のドキュメントでエラー・コードの意味を確認してください。

先頭に戻る

関連項目: