リモートブラウザをテストする
Tosca Cloudでは、リモートマシンおよびクラウド環境でウェブアプリケーションをテストできます。リモートブラウザ上で実行するテストケースを作成したり、開始から終了までリモートで実行されるプレイリストを作成したり、リモートテストとローカルテストを切り替えたりできます。
リモートマシンでテストを実行する
リモートマシン上のブラウザをテストするには、Webアプリケーションのコントロール機能を制御するテストケースを設計する必要があります。テストするWebサイトを開くには、OpenUrlモジュールを使用する必要があります。また、テストの終了時にブラウザまたはタブを閉じるには、CloseBrowserモジュールを使用することを推奨します。
リモートで操縦できるコントロール機能には、以下のようにいくつか例外があります。
-
オフセットパラメータのOffsetHorizontalとOffsetVerticalは、クリック操作「CLICK」でのみ機能します。
-
キーボード入力シミュレーション「KeyDown」と「KeyUp」は、SHIFTキー、ALTキー、CONTROLキーのみに対応します。他のすべてのキーボードコマンドでは、SendKeysを使用します。
-
Safariではキーボードコマンドはサポートされていません。
テストケースまたはプレイリストのテストケースパラメータも設定してください。リモートマシンで使用する技術に応じて、異なるパラメータ構成が必要になります。
BrowserStackでテストケースを実行するには、以下のテストケースパラメータを設定してください。
|
パラメータ |
値 |
オプション |
|---|---|---|
|
BrowserStack |
いいえ |
|
|
このテストケースで使用するブラウザ。デフォルト値はChromeです。 使用可能な値:InternetExplorer、Firefox、Chrome、Edge。 |
いいえ |
|
|
ブラウザのバージョン。 |
はい |
|
|
テストケースの実行に使用するオペレーティングシステム。 |
はい |
|
|
使用するクラウドプロバイダー固有の機能を指定します。 名前の構文:
例:BrowserStackのbstack:optionsタグの場合は、WebDriverJson_bstack___optionsです。 このパラメータの値は、複数の機能を含めることができる、以下の構文を使用したJSON文字列でなければなりません。
例:"{""userName"": ""<UserName>"", ""accessKey"": ""<accessKey>"", ""browserVersion"": ""136"", os"": ""OS X"", ""osVersion"": ""Monterey"", ""acceptInsecureCerts"": true, ""timeouts"": {""implicit"": 10000, ""pageLoad"": 30000}}" オプションタグ、機能名、機能固有の値については、お使いのクラウドプロバイダーのドキュメントを確認してください。 |
はい |
|
|
使用するBrowserStackの機能を指定します。 名前の構文:
例:Example.name:1の機能の場合は、BrowserStack_Example__name___1です。 BrowserStackの機能とその値については、BrowserStackのドキュメントを確認してください(新しいタブで開きます)。 |
はい |
BrowserStackの機能を定義するために、テストケースのパラメータWebDriverJson_<ProviderOptionsTag>またはBrowserstack_<CapabilityName>を使用することができます。Browserstack_<CapabilityName>よりもはるかに多用途であるため、WebDriverJson_<ProviderOptionsTag>を使用することを推奨します。
WebDriver経由でテストケースを実行するには、以下のテストケースパラメータを設定してください。
|
パラメータ |
値 |
オプション |
|---|---|---|
|
テストケースを実行するグリッドハブのIPアドレス。 例:localhost(ローカルマシンでテストを実行するため)、http://<hubaddress>/wd/hub(リモートハブ用)。 Open the URL http://<IP:portnumber>/grid/console to check out information on the connection nodes. |
いいえ |
|
|
このテストケースで使用するブラウザ。 使用可能な値:InternetExplorer、Firefox、Chrome、Edge |
いいえ |
|
|
ブラウザのバージョン |
はい |
|
|
テストケースを実行するオペレーティングシステム |
はい |
|
|
テストケースを実行するプロキシサーバのIPアドレス。 WebDriverProxyUsernameおよびWebDriverProxyPasswordと一緒に使用します。 |
はい |
|
|
プロキシサーバでの認証に使用するユーザー名。 WebDriverHubProxyAddressおよびWebDriverProxyPasswordと一緒に使用します。 |
はい |
|
|
プロキシサーバでの認証に使用するパスワード。 WebDriverProxyUsernameおよびWebDriverHubProxyAddressと一緒に使用します。 |
はい |
|
|
値を「TRUE」に設定すると、テストランの時間が改善されます。 |
はい |
|
|
WebDriverUserProfilePreference_<preferencename></preferencename> |
Chrome、Edge、FirefoxのWebDriverリモートテストにブラウザ固有のユーザープロファイル設定を適用します。 名前の構文:
例:設定Preference.name:1の場合は、WebDriverUserProfilePreference_Preference__name___1です。 設定とその値については、お使いのウェブブラウザのドキュメントを確認してください。 |
はい |
|
使用するWebDriverの機能を指定します。 名前の構文:
例:Example.name:1の機能の場合は、WebDriver_Example__name___1です。 WebDriverの機能とその値については、WebDriverのドキュメント(新しいタブで開きます)またはBrowserStackのドキュメント(新しいタブで開きます)を確認してください。 |
はい |
|
|
使用するクラウドプロバイダー固有の機能を指定します。 名前の構文:
例:BrowserStackのbstack:optionsタグの場合は、WebDriverJson_bstack___optionsです。 このパラメータの値は、複数の機能を含めることができる、以下の構文を使用したJSON文字列でなければなりません。
例:"{""userName"": ""<UserName>"", ""accessKey"": ""<accessKey>"", ""browserVersion"": ""136"", os"": ""OS X"", ""osVersion"": ""Monterey"", ""acceptInsecureCerts"": true, ""timeouts"": {""implicit"": 10000, ""pageLoad"": 30000}}" オプションタグ、機能名、機能固有の値については、お使いのクラウドプロバイダーのドキュメントを確認してください。 |
はい |
WebDriverの機能を定義するために、テストケースパラメータのWebDriverJson_<ProviderOptionsTag>またはWebDriver_<CapabilityName>を使用することができます。WebDriver_<CapabilityName>よりもはるかに多用途であるため、パラメータWebDriverJson_<ProviderOptionsTag>を使用することを推奨します。
BrowserStack上、またはWebDriver経由で実行するテストまたはプレイリストを設定したら、XBrowser上で実行するように切り替えることができます。切り替えの方法は、リモートテストのパラメータをテストケースで設定するか、プレイリストレベルで設定するかによって異なります。
-
新しいテストランの前にテストケースを切り替えるには、HubAddressテストケースパラメータを削除してください。これにより、ハブ接続が無効になり、デフォルトの実行タイプであるXBrowserが有効になります。
-
プレイリストの実行中に切り替えるには、XBrowserで実行するプレイリスト内のすべてのテストケースにおいて、HubAddressテストケースパラメータを「WebDriverの実行をオフにする」に設定してください。これは、特にSAPコントロールの操作時に便利です。
WebDriver経由でChrome、Chromium、Firefoxのヘッドレスブラウザインスタンスでテストケースを実行することができます。新しいブラウザインスタンスや既に実行中のインスタンスでテストを実行する場合は、手順が異なります。
Chrome、Chromium、Firefoxの新しいヘッドレスブラウザインスタンスでテストを実行する
Chrome、Chromium、Firefoxの新しいヘッドレスブラウザインスタンスで実行するには、以下の手順に従ってください。
-
WebDriver経由でテストを設定します。
-
OpenUrlモジュールを使用してWebサイトを開きます。BrowserArguments > Argumentモジュールパラメータに、以下を指定してください。
-
「--headless」のようなヘッドレスモードでブラウザを起動する引数。
-
「--window-size=1024x640」のように適切なウィンドウサイズを指定する引数。
-
すでに起動しているChromeヘッドレスブラウザインスタンスでテストを実行する
すでに起動しているChromeヘッドレスブラウザインスタンスで実行するには、以下の手順に従ってください。
-
WebDriver経由でテストを設定します。
-
モジュール「Chrome/Chromiumアプリケーションに接続」を使用して、すでに実行中のChromeヘッドレスブラウザインスタンスに接続します。デバッグポートモジュールパラメータに、アプリケーションが実行されるデバッグポートを指定します。
すでに実行中のFirefoxヘッドレスブラウザインスタンスでは、テストを実行することはできません。