テストの自動実行におけるコマンドラインの活用
Ranorex Studioでのテストシナリオ作成が一通りできるようになったら、次にすべきは作ったテストを自動で実行することです。テストの自動実行の手段としては、CIツールと連携して本格的なCI/CDを実現することも可能ですし、シンプルにスケジューラーで決まった時刻に実行するといった方法もあります。どちらの方法でも、Ranorex独自のコマンドライン引数を知っておくと、効率良く自動実行の構成を組むことができます。
コマンドライン引数を活用することで、例として以下のような操作が実現できます。
- プロジェクト内の一部のテストのみを実行する
- モバイルテストを複数回実行する際に、デバイスを自動で切り替える
- テストの実行時に値を渡し、シナリオの中でその値を使用する
前提:Ranorex テストの自動実行の概要
Ranorexで作成したテストを自動で定期実行したいという場合、
テストの実行ファイル:<プロジェクト名>.exe を何らかの形で起動する必要があります。
代表的な例として、Windowsのタスクスケジューラーから直接上記の実行ファイルを起動することで、最もシンプルな形でテストの定期実行がおこなえます。
実行ファイルは一般的な.exeフォーマットとして、コマンドプロンプトからの実行が可能です。またRanorex独自のコマンドライン引数をオプションで付与することで、実行時の設定をおこなえます。たとえば、実行したいテストの内容に合わせて、引数付きのコマンドラインをバッチファイル(.cmdあるいは.bat形式のファイル)として保存し、 そのバッチファイルをタスクスケジューラー等のツールに設定します。これにより、テストスクリプトを編集することなく、テストを定期実行するといった使い方ができます。
※実行ファイル(<プロジェクト名>.exe)は各プロジェクトの\bin\Debugフォルダーに生成されます。詳しくは、以下ユーザーガイド(テスト実行ビルドの作成)をご参照ください。
以下、Ranorex 独自のコマンドライン引数の中でも使いやすいものをいくつかご紹介します。
プロジェクト内の一部のテストのみを実行する
- テストスイートを指定する
コマンドライン引数 /ts を使用することで、指定したテストスイートのみを実行できます。例として、以下のような形でテストスイート「Testsuite1」のみを指定して実行します。
MyTest.exe /ts:Testsuite1.rxtst
- テストコンテナ―(テストケースまたはスマートフォルダー)を指定する
コマンドライン引数 /tc を使用することで、指定したテストコンテナ―(テストケースまたはスマートフォルダー)のみを実行できます。
例として、下図のテスト構成の場合、以下のコマンドでスマートフォルダ「リグレッションテスト」配下のテストケースのみを実行することができます。
テストプロジェクト1.exe /tc:リグレッションテスト
- TestRunを指定する
コマンドライン引数 /rc を使用することで、指定したTestRunのみを実行できます。実行対象のケースがスマートフォルダをまたいでいる場合や、実行のパターンが多くテストコンテナー単位で指定するのが大変な場合などで役立ちます。
※TestRunは、チェックを入れたテストケース/スマートフォルダの保存ができる機能です。詳しくはユーザーガイドをご参照ください。
例として、以下のような形でTestRun「定期実行パターン1」のみを指定して実行可能です。この場合、「テストケース2」と「テストケース4」のみが実行されます。
テストプロジェクト1.exe /rc:定期実行パターン1
モバイルテストを複数回実行する際に、デバイスを自動で切り替える
コマンドライン引数 /ep を使用することで、テスト実行時に使用するエンドポイントを指定できます。
例として、1つのテストを2つのデバイスで実行したいという場合、以下のような形でコマンドを作成することで、順番にそれぞれのデバイスでテスト実行がおこなわれます。
MyMobileTest.exe /ep:iPhoneXR
MyMobileTest.exe /ep:iPhone12
※実行時には、使用するデバイスがテスト実行マシンに接続されている必要があります。
テストの実行時に値を渡し、シナリオの中でその値を使用する
コマンドライン引数 /pa を使用することで、テストシナリオで使用しているパラメーターの値を指定できます。
※パラメーターについて詳しくはユーザーガイドをご参照ください。
例として以下のような形で、グローバルパラメーター:OSVersion の値に Windows10 を設定してテスト実行がおこなえます。Ranorex Studio上で設定したパラメーターの値は、コマンドライン引数の値で上書きされます。
EnvironmentTest.exe /pa:OSVersion=Windows10
まとめ
以上、比較的利用シーンの多いコマンドライン引数をご紹介しましたが、この他にも様々な引数が用意されています。これらを活用することで、1つのテストを複数の設定で自動実行できるため、ひいてはRanorexシナリオの開発工数の削減にもつながります。
コマンドライン実行についてより詳しく知りたいという方は、こちらをご参照ください。