メインコンテンツまでスキップ
バージョン: DAI 25.2

コマンドラインモードでのエージェントの実行(DAIランエージェント)

DAI Run Agent は、グラフィカルユーザーインターフェース (GUI) を介さずにコマンドラインで実行されます。そのため、バッチファイルやシェルスクリプト、あるいはコンテナ内から Run Agent を起動できます。また、コマンドラインで Run Agent コマンドに引数を渡すことで、Run Agent の動作をカスタマイズすることもできます。Run Agent コマンドの使用方法と利用可能なオプションについては、以下を参照してください。

エージェント実行コマンドを使用するには、次の手順に従います。

  1. コマンドプロンプトからエージェントディレクトリに移動します。例えば:

    • Windowsの場合:C:\Program Files (x86)\eggplantDAIRunAgent\
    • Macの場合:/Applications
    • Linuxの場合: eggplantDAIRunAgent実行ファイルへのパス(解凍した場所)
  2. エージェント実行ファイルを実行し、適切な引数を追加します:

    • Windowsの場合:eggplantDAIRunAgent.exe [引数]
    • Macの場合:./eggplantDAIRunAgent [引数]
    • Linuxの場合:./eggplantDAIRunAgent [引数]

    macOS での一般的な起動の問題を解決する方法については、実行エージェントの起動の問題のトラブルシューティングを参照してください。

DAI 実行エージェントのコマンドライン引数の使用

DAI Run Agentの動作を指定するには、Run Agentコマンドでコマンドラインから引数を渡します。各引数の先頭には、--argument_nameのように、2つの連結ダッシュを付けます。DAI Run Agentの引数の完全なリストとその使用方法については、以下のRun AgentコマンドのヘルプまたはRun Agentコマンドライン引数一覧を参照してください。Run Agentコマンドの例も以下に示します。

注記

DAI実行エージェントが起動すると、GUIのない​​コマンドラインモードでEggplant Functional(EPF)インスタンスも起動します。これは_Fusion Engine_とも呼ばれます。Fusion Engineは実際にDAIスニペットを実行します。実行エージェントコマンドと共に、このFusion Engineの実行時に使用するオプションを指定できます。詳細については、以下の実行エージェントコマンドでEggplant Functionalコマンドライン引数を渡すを参照してください。

DAI 実行エージェントを実行する簡単な例

システムにダウンロード済みの既存のDAI環境 .ini ファイルへのパスを指定すると、以下に示す簡単なコマンドで、完全に構成されたDAI実行エージェントを起動できます。DAI .ini ファイルの詳細については、DAI環境の作成方法を参照してください。

Windows:

Windows システムの CMD シェルまたは PowerShell の場合:

“C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe” --ini-file "C:\Users\myuser\my_env.ini"

Mac/Linux:

Mac または Linux ベースのシステム上の bash シェル ターミナルの場合:

./eggplantDAIRunAgent --ini-file "my envs/my_env.ini"

Where:

  • "C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" は Windows 上の DAI Run Agent コマンドであり、./eggplantDAIRunAgent は Mac および Linux 上の DAI Run Agent コマンドです。
  • Windows では --ini-file C:\Users\myuser\my_env.ini、Mac または Linux では --ini-file "my envs/my_env.ini が、DAI 実行エージェントの DAI .ini ファイルと値(.ini ファイルの場所)の引数です。.ini ファイルの場所は任意です。システム上でファイルが保存されている場所を指定します。
重要

Mac、Linux、Windows では、DAI .ini ファイルへのパスにスペースが含まれている場合、上記の Mac/Linux の例に示すように、パスを引用符で囲む必要があります。

また、DAI の .ini ファイルに複数の environment セクションが含まれている場合は、Run Agent コマンドで --ini-file 引数に加えて、--host-url および --env-id 引数と値を指定する必要があります。上記の簡単な例のような構文は使用できません。

DAI Run Agent {#other-examples-for-the-dai-run-agent} の他の例

以下は、より詳細なオプション引数を使用して、DAI Run Agent をさまざまなオペレーティング システムで実行する方法の例です。使用可能な引数の一覧については、以下の Run Agent コマンドのヘルプ または Run Agent コマンドライン引数一覧 を参照してください。

Windows:

Windows システムの CMD シェルまたは PowerShell の場合:

“C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe” --ini-file "C:\Users\myuser\my_env.ini" --log-level INFO --drive-port 5401
“C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe” --ini-file "C:\Users\myuser\my_env.ini" --host-url https://server.company.com --env-id 1

Mac/Linux:

Mac または Linux ベースのシステム上の bash シェル ターミナルの場合:

./eggplantDAIRunAgent --ini-file envs/my_env.ini --log-level INFO --drive-port 5401
./eggplantDAIRunAgent --ini-file "my envs/my_env.ini" --host-url https://server.company.com --env-id 1

エージェントコマンドのヘルプを実行する

DAI Run Agent の引数の完全なリストについては、以下の例のように、DAI Run Agent コマンドに
--help 引数を指定して実行してください。また、Run Agent コマンドライン引数一覧 でも引数を確認できます。

Windows:

Windows システムの CMD シェルまたは PowerShell の場合:

"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" --help

Mac/Linux:

Mac または Linux ベースのシステム上の bash シェル ターミナルの場合:

./eggplantDAIRunAgent --help

実行エージェントの起動に関する問題のトラブルシューティング

macOS で実行エージェントを起動しようとすると、以下に示すように、「eggplantDAIRunAgent が開かれていません」という Apple メッセージが表示される場合があります。

Apple Malware Warning

このメッセージは、AppleがDAI Run Agentの起動を誤ってブロックした場合に表示されます。Eggplantは信頼できるソースであるため、Run Agentを隔離してAppleのマルウェアチェックをスキップすることで、この問題を安全に回避できます。Run Agentを再度起動する前に、ターミナル(macOSのシェルアプリ)のコマンドラインで以下のコマンドを実行してください。

  1. macOS で実行エージェントがインストールされている /Applications フォルダーに変更します。

  2. 実行エージェントを起動して実行できるようにするには、次のコマンドを入力します。

    xattr -rd com.apple.quarantine eggplantDAIRunAgent

    隔離コマンドは 1 回だけ実行する必要があります。

実行エージェントのコマンドライン引数の表

以下は、サポートされているコマンドライン引数とそれに対応する環境変数のリストです。また、上記のRun Agent コマンドのヘルプに記載されているように、コマンドラインで --help 引数を指定して Run Agent コマンドを実行すると、これらのオプションのリストが表示されます。

引数環境変数説明
--ini-file FILEDAI_AGENT_INI_FILEDAIサーバーからダウンロードした環境設定ファイル(.ini)の場所。このファイルは、ダウンロードしたiniファイルの読み込み時にのみ作成されます。

デフォルト:
Windows: C:\Users\{user}\.eggplantDAI.ini (隠しファイルとしてマークされています。)
Mac: ~/.eggplantDAI.ini
Linux: ~/.eggplantDAI.ini
--host-url TEXTDAI_HOST_URL接続するEggplant DAIサーバー、例:https://server.company.com。これは、環境設定(.ini)ファイルのhost_urlにマップされます。
--env-idと組み合わせて.iniファイルの適切なセクションを選択するために使用します。
指定されていない場合は、.iniファイルの最初のセクションを使用します。
--env-id INTEGERDAI_EXEC_ENV_IDDAIサーバー上の実行環境のID。
--host-urlと組み合わせて.iniファイルの適切なセクションを選択するために使用します。
指定されていない場合は、.iniファイルの最初のセクションを使用します。
--suite-root DIRECTORYEGGDRIVE_SUITE_ROOTダウンロードしたスイートを保存するために使用するフォルダです。
Eggplant Functional (EPF) スイートは、指定されたルートフォルダのサブフォルダとしてアップロードおよびダウンロードされます。

デフォルト:
Windows: C:\ProgramData\Eggplant\agent\Suites
Mac: ~/Library/Application Support/agent/suites
Linux: ~/.local/share/agent/suites
--gui [True|False]Eggplant FunctionalのUIを表示するかどうかを指定します。

Default: False
--drive-port INTEGEREGGDRIVE_PORTEggplant FunctionalがeggDriveコマンドをリッスンするために使用するポート。
指定されていない場合は、ランダムに割り当てられた空きポートを使用します。
--log-level [INFO|DEBUG|WARNING|ERROR|TRACE]ログレベル。

INFO:
は、Run Agent が期待どおりに動作していることを示す基本的なメッセージをログに記録します。
DEBUG: は、通常、問題の診断に使用される詳細なメッセージを記録します。
WARNING: は予期しないイベントや潜在的な問題をログに記録します。このレベルには、レベル ERROR.
で記録されたメッセージが含まれます。ERROR: Run Agent が正常に機能するために発生したエラーをログに記録します。
TRACE: は、すべてのログレベルのメッセージをログに記録します。

Default: INFO
--log-folder DIRECTORYDAI_AGENT_LOG_FOLDERログファイルを保存するフォルダ。

デフォルト:
Windows: C:\ProgramData\Eggplant\agent\logs
Mac: ~/Library/Logs/agent
Linux: ~/.cache/agent/log
--win-service [INSTALL&#124START&#124STOP&#124REMOVE&#124RESTART]Windows サービスとして実行する、または既に実行するように構成されている DAI Run Agent を管理するには、Windows サービスを制御するための適切なオプションを指定します。このパラメータを
--service-name パラメータと一緒に使用して、Run Agent Windows サービスの表示名を指定します。詳細については、エージェントを Windows サービスとして実行するを参照してください。[デフォルトのサービス名: DAI Run Agent (サービスをインストールしたがサービス名を指定していない場合)]
注: このオプションとその他の Windows サービス オプションは、Windows で --help 引数を指定して DAI Run Agent コマンドを実行した場合にのみ表示されます。Windows サービス オプションは、Mac および Linux では使用できません。
--service-name TEXTインストールされたDAI Run Agent Windowsサービスの表示名。このパラメータを
--win-serviceパラメータと組み合わせて使用​​することで、Run AgentのWindowsサービス表示名を指定できます。[デフォルト: DAI Run Agent]
注: このパラメータとその他のWindowsサービスオプションは、Windowsで--help引数を指定してDAI Run Agentコマンドを実行した場合にのみ表示されます。WindowsサービスオプションはMacおよびLinuxでは使用できません。
--service-desc TEXTDAI Run Agent Windows サービスの説明です。このパラメータを
--win-service パラメータと組み合わせて使用​​することで、サービスの説明を設定できます。[デフォルト: Eggplant DAI Agent]
注: このパラメータとその他の Windows サービスオプションは、Windows で --help 引数を指定して DAI Run Agent コマンドを実行した場合にのみ表示されます。Windows サービスオプションは Mac および Linux では使用できません。
--licenser-host TEXT(オプション) このエージェントで起動された EPF インスタンスの RLM ライセンス サーバー ホストを指定するための追加の引数。
--licenser-password TEXT(オプション) 上記の --licenser-host オプションを使用するときにパスワードを指定するための追加の引数。
--versionバージョンを表示します。
--helpヘルプメッセージを表示し、終了します。

実行エージェントコマンドで Eggplant Functional コマンドライン引数を渡す

DAI実行エージェントが起動すると、DAIデザインとDAI実行エージェントとは?で説明されているように、Eggplant Functional(EPF)インスタンスもコマンドラインモード(GUIなし)で起動します。このモードで実行されるEggplant Functionalは、Fusion Engineとも呼ばれます。DAI実行エージェントのコマンドと引数に加えて、Eggplant Functionalのコマンドライン引数を渡すことで、Fusion Engineの動作を指定できます。

DAI Run Agent コマンドで EPF 引数を渡すには、EPF 引数の前に 2 つの独立したダッシュ(例: --)を付けます。EPF 引数は、DAI Run Agent 引数とは異なり、1 つの連結ダッシュ(例: -LicenserHost)を付けることで区別されます。この構文の例を以下に示します。

Eggplant Functional 引数を使用して実行エージェントを実行する簡単な例

"C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe"  --ini-file C:\my_ini.ini -- -LicenserHost <ip_address> -LicenserPassword

上記の Eggplant Functional 引数を使用した DAI Run Agent コマンドの例は次のようになります。

  • "C:\Program Files (x86)\eggplantDAIRunAgent\eggplantDAIRunAgent.exe" は、Windows システム上の DAI Run Agent コマンドです。
  • --ini-file C:\my_ini.ini は、DAI .ini ファイルの DAI 実行エージェント引数と値であり、.ini ファイルの場所です。
  • -- (2 つの独立した連結されたダッシュ) は、この Run Agent コマンドに、起動する EPF インスタンスのコマンド ライン引数が含まれていることを指定する引数です。
  • -LicenserHost <ip_address> は、EPF インスタンスの Reprise License Manager (RLM) サーバーの場所を指定する EPF コマンドライン引数です。<ip_address> の値は、マシンの IP アドレス(またはホスト名)に置き換えられます。この例では EPF 引数が 1 つしか示されていないことに注意してください。複数の EPF 引数を渡すことができます。複数の EPF 引数を指定する場合でも、すべての引数の前に 2 つのダッシュ (--) を 1 回だけ含めてください。
  • -LicenserPassword は、上記の -LicenserHost 引数で指定された RLM サーバーのパスワードです。この例では、この引数に値を指定せずに渡していることに注意してください。

よく渡される Eggplant 関数引数

Run Agentコマンドでよく渡されるEPF引数の例を以下の表に示します。すべてのEPFコマンドライン引数の詳細については、EPFドキュメントのコマンドラインからの実行およびRunscriptコマンドラインオプションを参照してください。

引数環境変数説明
-LicenserHost TEXTReprise License Manager (RLM) サーバー ホスト マシンを指定するための Eggplant Functional (EPF) 引数。
-LicenserPassword TEXTRLM サーバー パスワードの EPF 引数。
注記

DAIエージェントコマンドでEggplant Functional/Fusion EngineインスタンスのRLMサーバを指定するには、実行エージェントコマンドライン引数表に記載されているDAI実行エージェント引数(--licenser-hostおよび--licenser-passwordとその値)を使用するか、または上記のEPF引数(--に続いて-LicenserHostおよびLicenserPasswordとその値)を使用します。

複数のエージェントを同時に実行する

DAI実行エージェントのインスタンスをネットワーク経由で複数起動できます。これらのインスタンスを使用して、DAIで複数の同時テストを実行できます。追加のインスタンスは、最初のインスタンスを起動するのと同じ方法で起動します。詳細は、上記のDAI実行エージェントの実行の簡単な例DAI実行エージェントのその他の例を参照してください。

情報

DAIエージェントのインスタンスを複数実行する場合、各インスタンスにはネットワーク全体で一意の実行環境Environment)名が必要です。これらの名前は、DAIのコントローラ > 環境ページに追加する必要があります。

注記

複数の実行エージェントを同じマシンで実行できます。ただし、ベストプラクティスとして、別々のマシンで実行することをお勧めします。

スクリプトから複数の実行エージェントインスタンスを実行する

スクリプトからDAI実行エージェントの複数のインスタンスを起動できます。これらのエージェントの実行方法は、DAI実行エージェントのコマンドライン引数の使用で説明されているように、さまざまな実行エージェントコマンドオプションを使用して設定できます。これは、単一のインスタンスの場合と同じです。

スクリプトの作成を始めるには、複数のエージェントを実行するためのサンプルスクリプトにある2つのサンプルシェルスクリプトをご覧ください。1つはWindowsのバッチファイル(.bat)で、もう1つはMacとLinux用のbash(.sh)スクリプトです。

複数のエージェントを実行するスクリプト ファイルを作成して実行する手順と、スクリプトによって開始されたエージェントを停止する手順を次に示します。

バッチファイルまたはシェルスクリプトを作成する

複数の DAI 実行エージェントを実行するスクリプトを作成するには、以下の手順に従います。

  1. Windows バッチファイル (.bat) または bash シェルスクリプトファイル (.sh) を作成し、任意の名前で保存します。例えば、Windows バッチファイルの場合は「MyAGENTStartFile.bat」、Mac または Linux の場合は「MyAGENTStartFile.sh」という名前を付けます。

  2. 以下の複数エージェント用のサンプルスクリプトに示されているサンプルバッチファイルまたはシェルスクリプトをコピーし、システムに合わせて修正するか、スクリプトを独自に作成してください。DAI実行エージェントの詳細な設定オプションについては、DAI実行エージェントのコマンドライン引数の使用を参照してください。

  3. ファイルを保存します。

スクリプトファイルを実行する

スクリプト ファイルを作成して保存したら、次の手順に従って、プラットフォームに応じてコマンド ラインまたはターミナルからスクリプト ファイルを実行できます。

  1. Windows の場合は CMD シェルまたは PowerShell、Mac または Linux の場合はターミナルを開きます。

  2. スクリプトファイルへの完全修飾パスを入力し、Enterキーを押します。スクリプトファイルが起動し、スクリプトファイルのタスクのステータスがコマンドシェルまたはターミナルに報告されます。これらのスクリプトは、エージェントの実行のために開いているシェルに依存します。バックグラウンドプロセスとして実行するように設定することもできます。

スクリプトから起動されたエージェントを停止する

スクリプトから実行される DAI 実行エージェントは、シェルまたはターミナルを閉じるか、シェル内のプロセスを終了するために Ctrl+C を入力するか、エージェントにエラーが発生するまで、実行を継続します。

複数のエージェントを実行するためのサンプルスクリプト

複数の DAI 実行エージェントを同時に実行するスクリプトの作成を開始するために、以下に 2 つのサンプル シェル スクリプトを示します。1 つは Windows バッチ (.bat) ファイルで、もう 1 つは Mac および Linux 用の bash (.sh) スクリプトです。

サンプル スクリプトについて知っておくべきことは次のとおりです。

  • サンプルスクリプトは4つのRun Agentインスタンスを起動します。スクリプトが実行されると、まず実行中のDAI Run Agentと関連するEggplant Functionalプロセスを終了し、その後Run Agentインスタンスを起動します。

  • スクリプトをコピーし、環境に固有の情報を使用して変更することができます。

  • bash スクリプトの場合、ディレクトリを変更する行を、eggplantDAIRunAgent 実行可能ファイルを抽出したディレクトリに置き換える必要があります。

  • Macの場合は、ディレクトリ変更の行をコメントアウトし、スクリプトのコメントで説明されているようにMac用の行のコメントを解除します。

  • スクリプトは、DAI 実行エージェント バージョン 7.0 以降で使用されます。

ヒント

以下のサンプル スクリプト (またはこのドキュメント内の任意のコード サンプル) をコピーするには、コード ブロックの上部右側にマウス カーソルを移動してコピー ボタンを表示します。

Windows Batch (.bat) File

@@ECHO OFF

cd "C:\Program Files (x86)\eggplantDAIRunAgent"

REM Kill all hanging processes before restarting Agents
tasklist /fi "imagename eq eggplantDAIRunAgent.exe" |find "eggplantDAIRunAgent" > nul
if errorlevel 1 (
echo eggplantDAIRunAgent was not running, local time %time% %date% >> c:\temp\EggLog4.txt)
else (
taskkill /f /im "eggplantDAIRunAgent.exe">>c:\temp\EggLog4.txt 2>&1
echo eggplantDAIRunAgent was running, local time %time% %date% >>c:\temp\EggLog4.txt
)

tasklist /fi "imagename eq runscript.exe" |find "Eggplant" > nul
if errorlevel 1 (
echo Eggplant was not running, local time %time% %date% >> c:\temp\EggLog5.txt)
else (
taskkill /f /im "runscript.exe">>c:\temp\EggLog5.txt 2>&1
echo Eggplant was running, local time %time% %date% >>c:\temp\EggLog5.txt
)

tasklist /fi "imagename eq eggplantDAIRunAgent.exe" |find "eggplantDAIRunAgent" > nul
if errorlevel 1 (
echo eggplantDAIRunAgent was not running, local time %time% %date% >> c:\temp\EggLog6.txt)
else (
taskkill /f /im "eggplantDAIRunAgent.exe">>c:\temp\EggLog6.txt 2>&1
echo eggplantDAIRunAgent was running, local time %time% %date% >>c:\temp\EggLog6.txt
)

REM Start Agents - need to use correct env-id's are NOT needed if the ini file only contains one env which is mostly the case for each instance from .ini file for each Agent.

ECHO Starting Agent1 . . .
START /B eggplantDAIRunAgent.exe --ini-file "C:\DAI_Agent_INI\Agent1.ini"

TIMEOUT 10

ECHO Starting Agent2 . . .
START /B eggplantDAIRunAgent.exe --ini-file "C:\DAI_Agent_INI\Agent2.ini"

TIMEOUT 10

ECHO Starting Agent3 . . .
START /B eggplantDAIRunAgent.exe --ini-file "C:\DAI_Agent_INI\Agent3.ini"
TIMEOUT 10

ECHO Starting Agent4 . . .
START /B eggplantDAIRunAgent.exe --ini-file "C:\DAI_Agent_INI\Agent4.ini"

TIMEOUT 10

ECHO All agents should be running . . .
ECHO This window should remain open, or the Agents shut down!

cmd /k

Mac or Linux Shell (.sh) script

以下のスクリプトはMacとLinuxで使用できます。Linuxの場合は、スクリプトを編集してeggplantDAIRunAgent実行ファイルへのパスを指定する必要があります。Macの場合は、該当の行をコメントアウトし、その下のMac用の行のコメントを解除してください。

#!/bin/bash

LOG_DIR="temp"

# Kill any running agent processes
# For linux, use the following line
for PROC in "eggplantDAIRunAgent" "runscript"; do
# For Mac, comment out the line above, and uncomment out the one below
# for PROC in "eggplantDAIRunAgent" "eggplant"; do
if ! pgrep -f "$PROC" > /dev/null; then
echo "$PROC was not running, local time $(date)" >> "$LOG_DIR/EggLog_${PROC}.txt"
else
pkill -f "$PROC"
echo "$PROC was running, killed it, local time $(date)" >> "$LOG_DIR/EggLog_${PROC}.txt"
fi
done

# Start agents

# For Linux: replace the following line with the path to your eggplantDAIRunAgent
cd "<The_path_to_where_you_extracted_your_eggplantDAIRunAgent>"
# For Mac: comment out the line above and uncomment the line below
# cd /Applications/eggplantDAIRunAgent

for i in {1..4}; do
echo "Starting Agent$i..."
# Subsitute the following line for Mac
# /Applications/eggplantDAIRunAgent
./eggplantDAIRunAgent --ini-file "DAI_Agent_INI/Agent${i}.ini" &
sleep 10
done

echo "All agents should be running..."
echo "This window should remain open, or the Agents shut down!"
exec bash

実行エージェントで実行されるテスト構成の Eggplant Functional 停止および再起動設定

DAI 実行エージェントを使用してテスト構成を実行する場合、次の環境変数を使用して、再起動前に Eggplant Functional を実行する時間の長さや、ポーリング時間による停止と再起動の猶予期間を設定できます。 詳細については、テスト構成実行時のEggplant Functionalの停止と再起動の設定を参照してください。

環境変数デフォルト説明
RESTART_EPF_AFTER_SECONDS1800テスト構成を実行する際、EPFが再起動する前にEPFが実行される間隔を秒単位で設定できます。この変数は、定義された時間が超過した場合に、現在のステップが終了し、次のステップに移る前に効果を発揮します。これは、DAI Run Agentで実行されるテスト構成にのみ適用されます。ライブ実行中は、EPFは再起動せずに連続して実行されます。テスト実行中にEPFを再起動させたくない場合は、このオプションを0(ゼロ)に設定して無効にすることができます。
EPF_QUIT_POLL_TIME_SECONDS20再起動プロセス中にEPFが終了するための猶予期間。
EPF_RESTART_POLL_TIME_SECONDS120EPFが終了した後に起動するための猶予期間。EPF_RESTART_POLL_TIME_SECONDSにはEPF_QUIT_POLL_TIME_SECONDSは含まれません。