Runscriptコマンドラインオプション
このページでは、runscript
コマンドを使用してコマンドラインからEggplant Functionalスクリプトを実行する際に使用できるさまざまなオプションについて説明します。このコマンドは、Eggplant Functional GUIを起動せずにスクリプトを実行します。
複数のオプションを追加するには、それぞれの前にスペースを挿入します。これらのコマンドについての詳細は、コマンドラインからの実行を参照してください。
Eggplant Functional GUIを起動するEggplant
コマンドを使用してスクリプトを起動するには、Eggplantコマンドラインオプションを参照してください。
重要: 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
をコマンドライン経由で任意のディレクトリから呼び出すことが可能になります。
Mac上でEggplant Functionalを実行していて、バージョンが18.0より古い場合、runscript
コマンドのパスは/Applications/Eggplant.app/runscript
です。
コマンドラインからrunscript
やEggplant
コマンドを実行する際に渡すオプションを指すために、私たちは_arguments_という言葉を使用します。その他、_options_や_flags_といった熟知の言葉もあります。
スクリプトへの入力として渡す値を指すために、私たちは_parameters_という言葉を使用します。コマンドラインからスクリプトを実行する際にパラメータを渡す方法についての詳細は、パラメータの渡し方を参照してください。
接続情報
RDPとVNC
以下のフラグを使用して、runscript
コマンドでVirtual Network Computing(VNC)またはRemote Desktop Protocol(RDP)のシステムアンダーテスト(SUT)の接続情報を指定します:
-host
– スクリプトで使用する特定のSUTのホスト名またはIPアドレス。-host引数を渡すときは、カラーデプス、パスワード、ポート、ユーザ名、接続名を指定することもできます。-connectionname
– 新たに作成される接続の希望する名前。-hostフラグと併用して、-connectionnameフラグは接続のSUT識別名を提供します。この値は、connectioninfo
関数が呼び出された場合にName
パラメータによって返されます。-port
– SUTに接続するソフトウェアのポート。これはVNCサーバーまたはRDP接続のポートで、ホストWindowsマシンのユーザー名とパスワードを提供します。-username
と-password
– SUTへのVNCサーバー接続の場合、通常はパスワードのみを提供する必要があります。特にUltraVNCを使用する場合など、稀にユーザー名が必要な場合もあります。RDP接続の場合、ホストWindowsマシンのユーザー名とパスワードを提供します。-password64
または-pass_code64
– 標準的な文字と非標準的な文字を含むパスワードやパスコードにBase64エンコーディングを使用する場合、-password64
または-pass_code64
のオプションを使用できます。Base64エンコーディングされたパスワードを渡すには-password64
オプションを、Base64エンコーディングされたパスコードを渡すには-pass_code64
オプションを使用します。パスワードやパスコードをBase64形式にエンコーディングする方法についての詳細は、Base64(エンコードとデコード)をご覧ください。-colorDepth
– ビューアウィンドウのSUTのカラーデプス:8、16、32。(デフォルト値:SUTのネイティブカラーデプス)-type
[RDP, VNC] – 接続の種類。"RDP"はRDP接続を指定し、Windows SUTのみで利用可能です。RDP接続はデフォルトでポート3389を使用します。"VNC"はVNC接続を指定します。デフォルトの接続タイプはVNCです。-typeパラメータを省略するとVNC接続になります。-DefaultHeight
と-DefaultWidth
– これらのパラメータは、SUT画面を表示するために指定し、その表示の高さと幅をピクセル単位で指定します。これらのオプションはRDP接続のみで使用され、つまり-typeオプションが含まれていてRDPに設定されている場合のみ使用されます。
例:
以下にrunscript
コマンドによるVNCとRDP接続の例を示す。
Mac VNC および RDP 接続の例
/Applications/Eggplant.app/Contents/MacOS/runscript /Users/Alex/Docs.suite/Scripts/myTests/test2.script -host <IPアドレス> -port 5901 -username joeuser -password broncos
Mac VNC および RDP 接続の例
"C:\Program Files\Eggplant\runscript.bat" "C:\Users\Alex\Documents\MySuite.suite\Scripts\test2.script" -host <IPアドレス> -password "fast horses" -type rdp -DefaultWidth 1920 -DefaultHeight 1080
Mac VNC および RDP 接続の例
runscript ~/Documents/appTests.suite/Scripts/test1.script -host <IPアドレス> -port 5901 -username "joeuser" -password broncos
Sauce Labs
Sauce Labsのテストシステム(SUT)の接続情報を指定するために、runscript
コマンドと以下のフラグを使用します:
-SauceLabsConnectionName
– この接続に割り当てる名前。(オプション)-SauceLabsUser
– 使用するSauce Labsアカウントのユーザー名。(必須)-SauceLabsApiKey
– アカウントのSauce Labs APIキー。(必須)-SauceLabsDataCenter
– 接続するSauce Labsデータセンター。(必須)
Sauce Labsデバイス接続のため に:
-SauceLabsBrowserName
– ブラウザの名前、例えば"Chrome"、"Firefox"など。(必須)-SauceLabsPlatformName
– オペレーティングシステムプラットフォームの名前、例えば"Windows 10"。(必須)-SauceLabsUrl
– ブラウザで接続するサイトのURL。(必須)-SauceLabsBrowserVersion
– 要求される特定のブラウザバージョン。(オプション)-SauceLabsScreenResolution
– ブラウザ画面のサイズを_width_ X _height_の形式で、例えば"1400x1050"。(オプション)
Sauce Labsブラウザ接続のために:
-SauceLabsDeviceName
– デバイス識別子、例えば"Iphone 12"など。(必須)-SauceLabsPlatformName
– オペレーティングシステムプラットフォームの名前、例えば"iOS"、"Android"など。(必須)-SauceLabsApp
– デバイスで実行するアプリのURL。(オプション)
Sauce Labs Tunnel Proxiesオプションについて:
Sauce labs tunnelsは、Sauce Labsのブラウザとデバイスの両方に接続するために使用できます。
Sauce Labs Tunnel Proxy機能を使用するには、まずSauce Connect ProxyをEggplant Functionalと同じマシンにインストールして実行している必要があります。詳細はConnecting Using Sauce Connect Proxyをご覧ください。
-SauceLabsTunnelName
– Sauce Labsに接続する際に使用するアクティブなSauce Connectトンネルの名前。(オプション)-SauceLabsTunnelOwner
– アクティブなSauce Connectトンネルを確立したSauce Labsユーザーアカウントの名前。(オプション)
例:
Linux with Sauce Labs Connection
runscript ~/phoneTests.suite/Scripts/galaxy.script -SauceLabsDeviceName "Samsung Galaxy S10" -SauceLabsPlatformName "Android" -SauceLabsUser "Graham52" -SauceLabsApiKey "7c0af918-bf09-3b2d-87d1-90c518a70c71" -SauceLabsDataCenter "us-west-1"
#licenser-password
commandlineoutput
-CitrixStorefront
- 接続するCitrixドメイン。(必須)-CitrixUsername
- 使用するCitrixアカウントのユーザー名。(必須)-CitrixPassword
- Citrixアカウントのパスワード。(必須)-CitrixApplication
- 起動するアプリケーションまたはデスクトップ。(必須)-CitrixScreenshotInterval
- Citrix SUTの2回の連続キャプチャの間に待機する時間(ミリ秒)。(オプション)-CitrixScreenResolution
- Citrix SUTの解像度。(オプション)
例:
Citrix 接続 (Windows のみ
runscript.bat "C:\Users\EggplantUser\Documents\CtirixConnections.suite\Scripts\RunscriptCitrix.script" -CitrixStorefront "https://citrix.citrixdomain.com/Citrix" -CitrixUsername "EggplantUser" -CitrixPassword "NuggetsNation" -CitrixApplication "Windows Server 2019" -CitrixScreenshotInterval 400 -CitrixScreenResolution 1600X900
実行中のスクリプトからのconnect
コマンド、またはスケジュール内の接続情報は、この接続を上書きします。この接続は開いたままですが、新しい接続が アクティブな 接続になります。
モバイル機器
初めてモバイルデバイスに接続する場合は、 モバイルデバイスに接続する">および該当する「...モバイルデバイスでの作業」トピックをお読みになることを強くお勧めします。モバイルデバイスのテストに関する重要な概念(Androidモバイルデバイスでの作業やiOSモバイルデバイスでの作業など)については、「モバイルデバイスへの接続」と該当する「モバイルデバイスでの作業」のトピックをお読みください。
次のフラグを指定した runscript
コマンドを使用して、Android モバイル デバイスの接続情報を指定します。
-AndroidDeviceId
- テストするAndroidデバイスのデバイスID。以下の注を参照。
接続されている端末が1台の場合は、AndroidDeviceId
に "connected "を指定することで、Eggplant Functionalが自動的にその端末に接続します。複数の端末が接続されている場合は、AndroidDeviceId
の指定が必要です。Device IDの取り扱いについては、Android Mobile Device IDの取得および、Androidエミュレータへの接続 をご参照ください。
次のフラグを指定した runscript
コマンドを使用して、iOS モバイル デバイスの接続情報を指定します。
- -iOSDeviceUDID - テストするiOSデバイスの一意のデバイスID。以下の注意事項を参照してください。
- -iOSDeveloperCertificatePath - iOS デベロッパー証明書の完全修飾ファイル名。
- -iOSDeveloperCertificatePassword - iOS デベロッパー証明書のパスワード。
- -iOSProvisioningProfilePath - 適切な iOS Provisioning Profile の完全修飾ファイル名です。
- -iOSDeveloperDiskPath - モバイルデバイスの Developer Disk を含むトップレベルのディレクトリへのパス。
1つのデバイスのみがシステムに接続されている場合、iOSDeviceUDID
を "connected" と指定すると、Eggplant Functionalは自動的にそのデバイスに接続します。複数のデバイスが接続されている場合、iOSDeviceUDID
パラメータが必要です。デバイスIDの操作の詳細については、iOSモバイルユニークデバイスID(UDID)の取得を参照してください。
- Apple Provisioning Profiles、Developer Certs、およびDeveloper Diskの詳細については、Before You Startを参照してください。
例:
Mac with a Mobile Device Connection to an Android Emulator
最初の例では、Device ID "emulator-5554 "のAndroidエミュレータに接続してスクリプトを実行している:
Applications/Eggplant.app/Contents/MacOS/runscript ~/Documents/AndroidConnectCmd.suite/Scripts/Runscript.script -AndroidDeviceId "emulator-5554" -CommandLineOutput yes
自動検出を使用した物理的Androidモバイル・デバイスに接続する
次の例では、Eggplant Functionalが動作しているシステムに現在接続されているAndroidモバイル・デバイスに接続するために、自動検出を使ってスクリプトを実行する:
/Applications/Eggplant.app/Contents/MacOS/runscript ~/Documents/AndroidConnectCmd.suite/Scripts/Runscript.script -AndroidDeviceId "connected"
明示的なUDIDを持つ物理的なiOSモバイル・デバイスへの接続
この例では、開発者証明書とプロファイルに関連するすべての必要なパラメータを含む、物理的なiOSモバイルデバイスに接続する方法を示します。
Applications/Eggplant.app/Contents/MacOS/runscript \
main.script \
-iOSDeviceUDID "00008030-00134C6554E8802E" \
-iOSProvisioningProfilePath "/home/sally/Desktop/ios/myteam.mobileprovision" \
OsdeveloperCertificatePath "/home/sally/Desktop/ios/MyCert.p12" \
-iOSDeveloperCertificatePassword "<my-cert-password>" \
-iOSDeveloperDiskPath"/home/sally/Desktop/ios/DeviceSupport"\
-CommandLineOutput YES
WebDriver接続情報
runscript
コマンドで以下のフラグを使用してWebDriver接続の接続情報を指定します:
-webBrowser
– 特定のブラウザーへのWebDriver接続を開きます。必須。-webHost
– WebDriver接続のホスト。-host
が指定されていない場合は必須。-webPort
– WebDriver接続を作成する際に使用するポートを定義します。ポートが指定されていない場合、ポート4444が使用されます。オプション。
例
Mac Webドライバーの接続例
/Applications/Eggplant.app/Contents/MacOS/runscript /Users/Bob/Selenium.suite/Scripts/test1.script -webBrowser "Chrome" -webHost "10.211.55.4" -webPort "4445"
Windows Webドライバーの接続例
"C:\Program Files\Eggplant\runscript.bat" C:\Users\Bob\Documents\Selenium.suite\Scripts\test1.script" -webBrowser "Chrome" -webHost "10.211.55.4" -webPort "4445"
Mac Webドライバーの接続例
runscript ~/Documents/Selenium.suite/Scripts/test1.script -webBrowser "Chrome" -webHost "10.211.55.4" -webPort "4445"
追加の引数
runscript
コマンドを使用してパスワードを送信、ログの格納場所を制御、パラメータを渡すなどができます。
-CommandLineOutput
使用
使用法: スクリプトログ(実行ウィンドウのログ領域に表示されるデータ)の出力を制御します。
有効な値
有効な値:
yesまたはno
。スクリプトログを出力するには、-CommandLineOutput
引数をyes
に設定します。この出力をオフにするには、-CommandLineOutput
引数をno
に設定します。
例
Mac -CommandLineOutput 引数の例
/Applications/Eggplant.app/Contents/MacOS/runscript /Users/Alex/appTests.suite/Scripts/test3.script -CommandLineOutput no
Windows -Commandline の出力引数の例
"C:\Program Files\Eggplant\runscript.bat" "C:\Users\Alex\Documents\appTests.suite\Scripts\test2.script" -CommandLineOutput no
Linux -CommandLineOutput 引数の例
runscript ~/Documents/appTests.suite/Scripts/test1.script -CommandLineOutput no
また、スクリプト内でCommandLineOutput
グローバルプロパティを設定することもできます。スクリプト内で変更されたグローバルプロパティは、常に初期設定を上書きします。
標準エラー(stderr
またはerror
)に送られる出力は常に表示されます。コマンドラインから実行する際 の出力をより細かく制御するために、スクリプト内で次の構文を使用できます:
write "THIS IS SOME OUTPUT" to error
-DefaultDocumentDirectory
使用
使用法: 相対ファイルパスの開始ディレクトリを指定します。たとえば、ヘルパースイートのパスです。
例
Mac
/Applications/Eggplant.app/Contents/MacOS/runscript -DefaultDocumentDirectory ~/Documents/EggplantDocs
Windows
"C:\Program Files\Eggplant\runscript.bat" -DefaultDocumentDirectory "C:\Users\Elizabeth\Documents\eggPlantTests"
Linux
runscript ~/Documents/appTests.suite/Scripts/test1.script -DefaultDocumentDirectory ~/Documents
これは、Eggplant Functionalの一般的な設定であるDefault Suite Directoryと同じです。
-GlobalResultsFolder
使用
使用法: スクリプト結果が保存されるフォルダの名前を設定します。フォルダのパスは絶対パスでも、スクリプトのスイートに対する相対パスでも構いません。
例:
Mac
/Applications/Eggplant.app/Contents/MacOS/runscript /Users/Alex/Docs.suite/Scripts/test2.script -GlobalResultsFolder ~/MyResults
Windows -GlobalResultsFolder 引数の例
"C:\Program Files\Eggplant\runscript.bat" "C:\Users\Alex\Documents\MySuite.suite\Scripts\smoketestMain.script" -GlobalResultsFolder "C:\Users\Alex\Documents\ExecutionResults\SmokeTest"
Windows -GlobalResultsFolder 引数の例
runscript ~/Documents/appTests.suite/Scripts/test1.script ~/Documents/appTests.suite/Scripts/test2.script -GlobalResultsFolder ~/MyResults
GlobalResultsFolderの設定は一時的なもので、現在のEggplant Functionalセッションにのみ適用されます。既に開始されたスクリプトとその結果には影響しません。ま た、スクリプトを実行する前にGlobalResultsFolderを設定する必要があります。なぜなら、スクリプトが実行を開始すると、そのログの場所は固定されます。GlobalResultsFolderを設定すると、結果はもうスイートに保存されないため、スイートウィンドウでそれらを表示することはできません。
-LicenseKey, -LicenseUser
使用
使用法: Eggplant Functionalの使用に必要なライセンスキーとユーザーを追加します。
例:
Mac
/Applications/Eggplant.app/Contents/MacOS/runscript -LicenseKey <license_key> -LicenseUser <user_name>
Windows
"C:\Program Files\Eggplant\runscript.bat" -LicenseKey <license_key> -LicenseUser <user_name>
Linux
runscript -LicenseKey <license_key> -LicenseUser <user_name>
-LicenserHost
使用
使用法: -LicenserHost
引数を使用して、Eggplant Functionalライセンスサーバーの場所を指定します。 -LicenserHost
引数の後に、ライセンスサーバーが稼働しているマシンのIPアドレスまたはホスト名を入力します。 Eggplant License Registry panelでライセンサーホストを指定していても、コマンドラインからスクリプトを 実行するためには、この引数を含める必要があるかもしれません。
例:
Mac
/Applications/Eggplant.app/Contents/MacOS/runscript /Users/Alex/Docs.suite/Scripts/test2.script -LicenserHost 10.1.11.105
Windows
"C:\Program Files\Eggplant\runscript.bat" "C:\Users\Alex\Documents\MySuite.suite\Scripts\test2.script" -LicenserHost bkwinsPC
Linux
runscript ~/Documents/appTests.suite/Scripts/test1.script ~/Documents/appTests.suite/Scripts/test2.script -LicenserHost 10.1.11.163
この引数は、Reprise License Manager(RLM)とTeam License Server(TLS)の両方でコマンドラインから実行するためのほとんどの環境で必要です。
-LicenserPassword
使用
使用方法: RLMをパスワードが必要に設定している場合はこのフラグを使用します。