コマンドラインからの実行
Eggplant Functionalのスクリプトやスイートはコマンドラインから実行することができます。これにはいくつかの理由があります:
- GUIモードでスクリプトを開発し、実行しながら、コマンドラインからEggplant Functionalを1つ以上のインスタンスでテストを実行することができます。
- 新しいビルドのスモークテストを行うために、製品ビルドスクリプトの最後にEggplant Functionalへのコマンドライン呼び出しを追加することができます。
- Windowsのスケジュールされたタスク(またはMacとLinuxの
crontab
やat
コマンド)を使用して、特定の時間にEggplant Functionalスクリプトを実行するようにスケジュールすることができます。
コマンドラインからの実行がEggdriveを使用するのに対して適切なアプローチである場合のヒントについては、Eggdrive vs. Command Line Executionを参照してください。
Ask
コマンドとAnswer
コマンドは、コマンドラインから実行するときに入力を求めることはありません。Eggplant Functionalスクリプトをコマンドラインから実行し、Ask
コマンドやAnswer
コマンドがスクリプトに含まれている場合は、ユーザーから取得する予定の情報のデフォルト値を設定するべきです。
Eggplant Functionalの各インスタンスはライセンスが必要です。GUIとコマンドラインから同時にEggplant Functionalを使用するためには、少なくとも2つのライセンスが必要です。
Eggplant Functionalのスクリプトはコマンドラインから2つの方法で実行することができます:
- Eggplant FunctionalのGUIを起動せずにスクリプトを実行する
runscript
コマンド。 - Eggplant FunctionalのGUIを起動し、その後にスクリプトを実行する
Eggplant
コマンド。
runscript
またはEggplant
コマンドを使用しているとき、コマンドがライセンスを取得できない場合があります(すべてのライセンスが使用中のため)。ライセンスが利用可能でない場合、実行中のコマンドはすぐに終了し、エラーコード127
を表示します。より良い経験のために、-MaxWaitForLicense MAX_SECONDS
パラメータを渡すと、コマンドはMAX_SECONDS
期間(秒単位)までライセンスサーバーまたはサーバーに対してライセンスの問い合わせを続けます。使用中のコマンド(runscript
またはEggplant
)がMAX_SECONDS
時間枠内にライセンスを取得した場合、それは正常に開きます。
Runscriptコマンド
runscript
コマンドはコマンドラインからEggplant Functionalを起動し、Eggplant FunctionalのGUIを表示せずにスクリプトを実行します。以下のようにrunscript
コマンドを実行しま す:
runscript
コマンドの完全なパスと名前を入力し、その後にスペースを入力します。- 実行するスクリプトの完全なパスと名前を入力します。
- 追加のスクリプトごとに、スペースを挿入し、それぞれの完全なパスと名前を入力します。
重要: Eggplant Functionalのバージョン18.0以降のMacへのインストールでは、runscript
コマンドを呼び出すパスが/Applications/Eggplant.app/Contents/MacOS/runscript
に変更されました。エラーを防ぐために、Eggplant Functionalの以前のバージョンで作成されたテストを更新する必要があるかもしれません。また、Eggplant > Preferences > Run PreferencesでInstall runscript in /usr/bin/localボタンをクリックして、runscript
コマンドをユーザーパスに追加することもできます。これにより、runscript
をコマンドライン経由で任意のディレクトリから呼び出すことが可能になります。
Eggplant FunctionalをMacで実行し、18.0より古いバージョンを使用している場合、runscript
コマンドのパスは/Applications/Eggplant.app/runscript
のままです。
例:
Mac:
/Applications/Eggplant.app/Contents/MacOS/runscript /Users/Alex/Documents/appTests.suite/Scripts/test1.script /Users/Alex/Documents/appTests.suite/scripts/test2.script
Windows:
"C:\Program Files\Eggplant\runscript.bat" "C:\Users\Alex\My Documents\MySuite.suite\Scripts\test1.script" "C:\Users\Alex\My Documents\MySuite.suite\Scripts\test2.script"
Linux
runscript ~/Documents /appTests.suite/Scripts/test1.script ~/Documents /appTests.suite/Scripts/test2.script
Eggplant Functionalは、各スクリプトの実行結果をそのスクリプトのスイートのResultsフォルダに保存します。その後、すべてのスクリプトが実行完了した後、Eggplant Functionalは成功したスクリプトの数を返り値として報告します。
LinuxのEggplant Functionalのインストールは環境変数を設定するため、runscript
コマンドをその名前のみで任意のディレクトリから呼び出すことができます。
Eggplant Functional レポート スクリプトを失敗ではなく成功させるには、-ReportFailures フラグを いいえに設定します です。コマンド ライン オプションの詳細については、「コマンド ライン オプション」を参照してください。
Ask
コマンドとAnswer
コマンドは、コマンドラインから実行された場合には入力を求めません。これらのコマンドをスクリプトに含むこのアプローチを使用する予定の場合、ユーザーから取得する情報のデフォルト値を設定する必要があります。これらのコマンドの使用方法については、User Interactionを参照してください。
GUI を使用しない Linux マシンでの Runscript の使用
AWS インスタンス、Docker コンテナ、SSH 接続、または GUI が存在しないその他の状況など、GUI を持たない Linux マシンで EPF スクリプトを実行する場合は、-GSBackend
を含めることができます。 runscript コマンド
のオプション。例えば:
For Ubuntu 22
runscript ~/Documents/Scripts/test.script -GSBackend libgnustep-headless
Ubuntu 16.04、CentOS 7.x、または Red Hat Enterprise Linux (RHEL) 7 を使用している場合は、-GSBackend libgnustep-back-headless
構文を使用する必要があります。
Eggplantコマンド
Eggplant
コマンドは、コマンドラインからEggplant FunctionalのGUIを開きます。アプリケーションを開いてスクリプトを実行するために使用することも、単にアプリケーションを開くために使用することもできます。
例
Mac
/Applications/Eggplant.app/Contents/MacOS/Eggplant
Windows
"C:\Program Files\Eggplant\Eggplant.bat"
Linux
Eggplant
LinuxのEggplant Functionalのインストールは環境変数を設定するため、Eggplant
GUIアプリケーションをその名前のみで任意のディレクトリから起動することができます。
コマンドラインからEggplant FunctionalのGUIを起動すると、標準出力は端末に表示されません。代わりに、それはあなたのユーザーアカウントのApplication Support\Eggplantディレクトリにログとして保存されます。
スクリプトにパラメータを渡す
Eggplant Functionalは、コマンドラインから実行する場合でもスクリプトにパラメータを渡すことをサポートしています。単一のパラメータ、複数のパラメータ、複数のパラメータのパラメータと値のペア、さらにはリストまで渡すことができます。パラメータ値は、それらに先行するスクリプトにテキスト文字列として渡されます。これをコマンドで複数のスクリプトを実行する場合には注意してください。
スクリプトにパラメータを渡すためには、各パラメータ値の前に-param
引数を置く必要があります。この引数をいつ使用するかとその使用方法の例については、-paramを参照してください。
このセクションの情報では、パラメータを渡すことについて話すときに以下の用語を使用します。
- parameters という用語は、スクリプトに渡すものを指します。
- パラメータ値 という用語は、スクリプトのパラメータに対して渡す値を指します。
- 引数 という用語は、
runscript
またはEggPlant
コマンドに渡すオプションを指します。例えば、-param
は引数です。これらの引数のリストについては、コマンドラインオプションを参照してください。
スケジュール内のスクリプトにパラメータを渡す
コマンドラインからスケジュールを実行している場合、スイートの後に指定したパラメータは、スケジュール内で実行される各スクリプトに渡されます。
パラメータの渡し方
以下は、-param
を使用してコマンドラインでスクリプトにパラメータ値を渡すための構文とルールです:
-
runscript
またはEggplant
コマンドを最初に提供し、スペースを開けてください。詳細は、上記のRunscriptコマンドまたはEggplantコマンドを参照してください。注記runscript
またはEggplant
コマンド、スクリプト、またはスイートへのフルパスを提供する必要があるかどうかは、コマンドを実行するときにいるディレクトリによります。Linuxでは、Eggplant Functionalのインストーラーは変数を設定するため、runscript
またはEggPlant
コマンドへのパスを提供する必要はありません。 -
実行したいスクリプトを指定し、スペースを開けてください。
-
スクリプトの直後に
-param
引数を提供し、スペースを開けてください。 -
スクリプトに渡 したいパラメータ値をダブルクォーテーションで囲って提供します。複数のパラメータを渡す必要がある場合、それぞれに
-param
引数を指定する必要があります。
複数のスクリプトを実行している場合、各スクリプトに適切なパラメータ値を持つ-param
を含める必要があります。
スクリプト名の前にパラメータを指定してデフォルトのパラメータとしても指定できます。スクリプト名の後
に任意のパラメータを含めると、それらのパラメータはスクリプトに渡されます。
スケジュールとともにスクリプトを実行する
Eggplant Functionalのschedules
は、連続して実行したいスクリプトをまとめることができます。スケジュールについての詳細は、Eggplant Functionalスケジュールを使用したスクリプトの実行を参照してください。
スケジュールを実行している場合、スケジュールを含むスイートへのフルパス、オペレーティングシステムに適したスラッシュ、そしてスケジュール名をrunscript
またはEggplant
コマンドとともに使用します。
例
Mac
/Applications/Eggplant.app/Contents/MacOS/runscript /Users/Sam/appTests.suite/Schedule1
/Applications/Eggplant.app/Contents/MacOS/Eggplant/Eggplant /Users/Sam/appTests.suite/Schedule1
Windows
"C:\Program Files\Eggplant\runscript.bat" "C:\Users\Alex\My Documents\MySuite.suite\Schedule1"
"C:\Program Files\Eggplant\Eggplant.bat" "C:\Users\Alex\My Documents\MySuite.suite\Schedule1"
Linux
runscript ~/Documents/appTests.suite/Schedule1
Eggplant ~/Documents/appTests.suite/Schedule1
スイート名のみを指定した場合、このコマンドはスイート内の最初のスケジュール(アルファベット順)を実行します。実行するスケジュールがない場合、Eggplant Functionalは「実行するスクリプトがありません」というエラーを返します。スケジュールでスクリプトを実行する詳細については、Eggplant Functionalスケジュールを使用したスクリプトの実行を参照してください。
Eggplant Functionalは、各スクリプトの結果をそのスクリプトのスイートのResultsフォルダに保存します。そして、すべてのスクリプトとスイートが実行を終えた後、Eggplant Functionalは成功したスクリプトとスイートの数を戻り値として報告します。スイートは、それに含まれるすべてのスクリプトが成功した場合に成功とされます。
これは、-RunOnLaunch
コマンドラインオプションとともに使用できます。
スイートのディレクトリリストにスケジュールの名前は表示されません。
テーブルテストの実行
キーワード駆動テストは、テストしたい機能を表すキーワードを外部テーブルに使用し、各キーワードの引数(データ)を提供することを可能にします。キーワード駆動テストは、runscript
コマンドを使用してコマンドラインから実行できます。このコマンドに続いて実行するテーブルへのパスを指定します。キーワード駆動テストについての詳細は、テーブル機能とキーワード駆動テストを参照してください。