Eggplant Functionalを使用したSelenium WebDriverテスト
Eggplant Functionalは、Eggplant FunctionalのWebDriverインターフェースを介して、Webアプリケーションのオブジェクトベースの自動テストをサポートしています。Eggplant Functionalを使用して純粋なWebDriverテストを実行することも、画像ベースのテスト(VNCまたはRDP接続を使用)とWebDriverテストを組み合わせてハイブリッドアプローチを達成することもできます。
Eggplant Functional内では、WebDriverを利用するための2つのオプションがあります。適切なオプションは、テストに使用するブラウザーのホスティングモデルによります:自身のITインフラストラクチャ内でブラウザーを自己ホストすることも、Sauce Labs'のブラウザー・アズ・ア・サービスプラットフォームを利用することもできます。
自己ホストのブラウザーを使用する予定の場合、このセクションの指示に従ってSeleniumのWebDriverソフトウェアをセットアップし、その後、Eggplant FunctionalのWebDriver接続を使用してブラウザーと通信する必要があります。
ブラウザープラットフォームとしてSauce Labsを利用する予定の場合、Eggplant FunctionalのSauce Labs接続を使用してブラウザーに接続する必要があります。Sauce Labs接続はハイブリッド接続であり、Eggplant Functional内でVNCとWebDriver接続の両方を単一の接続として論理的に表示します。Sauce Labs接続を作成すると、明示的なWebDriver接続を作成した場合と同じ構文を使用してWebDriverコマンドを送信することができます。Sauce Labs接続では、Seleniumソフトウェアをインストールする必要はなく、以下のSeleniumの設定に関する指示を無視することができます。
Eggplant FunctionalでWebDriverおよびSauce Labs接続を作成する方法の詳細については、接続リストでのSUTの追加または編集をご覧ください。
接続(WebDriver接続であろうとSauceLabs接続であろうと)がある場合、SenseTalk WebDriverのコマンドと関数を使用してテストを作成することができます:
WindowsでのSeleniumの設定
このセクションの先頭にある概要を参照して、ブラウザーへのアクセスがSauce Labs経由のみの場合、ここで説明する手順は必要ありません。
WindowsでSeleniumフレームワークを使用してEggplant Functionalを設定するには、Seleniumスタンドアロンサーバー、Java(JDKまたはJRE)、およびテスト対象の任意のブラウザーに対応するWebDriverをインストールする必要があります。
Windowsでの互換性のある設定
Eggplantは、Windows 10 SUT上のEggplant Functionalとともに使用するためのWebDriverのこれらの設定をテストしました。
SUTブラウザー | ブラウザードライバー(WebDriver) | Seleniumスタンドアロンサーバー | Java |
---|---|---|---|
Chrome 86.0.4240.183 | Chromedriver 85.0.4183.83 | 3.12 | JDK 14.0.2 |
Edge 86.0.623.63 | MSEdgeDriver 86.0.622.63 | 3.12 | JDK 14.0.2 |
Firefox 79 | GeckoDriver | 3.12 | JDK 14.0.2 |
Edge Chromiumはサポートされていません。
システムの設定
WindowsでSeleniumとEggplant Functionalを手動で設定するには、以下の手順を完了してください:
-
テストしたいブラウザのバージョンを ダウンロードするか、既にインストールされている場合はブラウザのバージョンを確認します。
-
Seleniumスタンドアロンサーバーとブラウザと互換性のあるJavaバージョン(JDKまたはJRE)がインストールされていることを確認します。
-
C:
ドライブのルート上の任意の場所にフォルダを作成します。 -
Selenium Grid(Selenium Standalone Server)の最新の安定バージョンをSUTにダウンロードし、新しいフォルダに配置します。
-
*.batファイルを作成し、それを"RunSeleniumServer.bat"のような名前にし、以下の情報を追加します:
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk****\bin
"%JAVA_HOME%\java" -jar selenium-server-standalone-^^^^^^.jarここで、*****はJDKのバージョンで、^^^^^^はインストールしたSelenium Standalone Serverのバージョンです。
-
テストしたいブラウザに対応する適切なWebDriverをそのフォルダにダウンロードします。
-
*.batファイルを実行してSeleniumサーバーが予想通りに起動することを確認し、Selenium設定を検証します。
-
Eggplant Functionalを使用してSelenium環境へのWebDriver接続を確立できることを確認します。
Selenium Standalone Serverの起動と停止
Selenium Standalone Serverを起動するには(すでに実行されていない場合):
- コマンドプロンプトを開きます。
- 前のセクションで作成した.batファイルに移動します。
- .batファイルを実行します。
Seleniumサーバーを停止するには、Seleniumサーバーが稼働しているコマンドシェルを閉じます。
MacでのSeleniumの設定
このセクションの先頭にある概要を参照して、ブラウザーへのアクセスがSauce Labs経由のみの場合、ここで説明する手順は必要ありません。
MacでSeleniumフレームワークを使用してEggplant Functionalを設定するには、Seleniumサーバー、Java SE Development Kit(JDK)、およびテスト対象のブラウザーに対応する適切なWebDriverをインストールする必要があります。
Macでの互換性のある設定
Eggplantは、Eggplant Functionalで使用するためのWebDriverのこれらの設定をテストしました。
SUTブラウザー | ブラウザードライバー(WebDriver) | Seleniumサーバー | Java |
---|---|---|---|
Chrome 84 | ChromeDriver | 3.12 | JDK 14.02 |
Safari 12.0.2 | Safaridriver | 3.141.59 | openjdk 11.0.2 |
以下の例では、Google Chromeブラウザー用のWebDriverであるChromeDriverを使用します。
SeleniumサーバーとOracle JDKのインストール
-
Homebrew iOSパッケージインストーラーをインストールします:
- Terminalを開き、
usr/bin/
に移動します。 - 以下のコマンドを実行します:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Terminalを開き、
-
通常、JDK は Mac にすでにインストールされています。必要に応じて、Oracle から JDK をダウンロードしてインストールします。
先端Homebrewを使用してJavaをインストールするには、以下のコマンドを実行します:
brew cask install java
-
コマンドプロンプトから、以下のコマンドを実行してSeleniumサーバーをインストールします:
brew install Selenium-server-standalone
-
コマンドプロンプトから、以下のコマンドを実行してSeleniumサーバーが正しくインストールされていることを確認します。
selenium-server --version
このコマンドは、あなたがインストールしたばかりのSeleniumサーバーのバージョンを返すはずです。
Seleniumサーバーの開始と停止
コマンドプロンプトから、以下のコマンドを実行してSeleniumサーバーを起動します:
selenium-server -port 4444
Seleniumサーバーを起動するたびにこのコマンドを実行します。
Seleniumサーバーをアクティブに保ち、SenseTalkを通じてWebDriver機能を利用するためには、Terminalウィンドウを開いたままにしておく必要があります。
Seleniumサーバーを停止するには、Seleniumサーバーを起動した端末を閉じます。
ChromeDriverのインストール
Eggplant Functional との互換性を確保するには、Chrome バージョン 60 以降と ChromeDriver バージョン 2.33 以降を使用する必要があります。 WebDriver for Chrome をダウンロードし、次の手順を実行して、Selenium サーバーに次の場所を知らせます。 Chromeドライバー:
-
コマンドウィンドウを開きます。
-
以下のコマンドを実行します:
sudo nano /etc/paths
-
パスワードを入力します。
-
ファイルの最下部に移動し、ChromeDriverへのパスを入力します。たとえば、あなたのパスは以下のようになるかもしれません:
/Users/<username>/Documents
-
Ctrl+Xを押してエディタを終了します。
-
変更を保存するためにYを入力します。
-
Enterを押して変更を確定します。
Safariでの自動化を有効にする
Safariブラウザで自動化を有効にするには、以下の手順を実行します:
- Safari > Preferencesに移動し、Advancedタブを選択します。
- Show Develop menu in menu barを選択します。設定を閉じます。
- Develop > Allow Remote Automationに移動します。
SafariでのWebDriver自動化には、macOS Sierra(10.12)以降およびSafari 10.0以降が必要です。