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 Grid Server、Java (JDK または JRE)、およびテスト対象のブラウザに適した WebDriver をインストールする必要があります。
システムの設定
WindowsでSeleniumとEggplant Functionalを手動で設定するには、以下の手順を完了してください:
-
テストしたいブラウザのバージョンをダウンロードするか、既にインストールされている場合はブラウザのバージョンを確認します。
-
スタンドアロン オプションとブラウザーを備えた Selenium Grid Server と互換性のある Java バージョン (JDK または JRE) がインストールされていることを確認します。
-
C:
ドライブのルート上の任意の場所にフォルダを作成します。 -
SUT に Selenium Grid (Selenium Grid Server) の最新の安定バージョンをダウンロードし、新しいフォルダーに配置します。
-
*.batファイルを作成し、それを"RunSeleniumServer.bat"のような名前にし、以下の情報を追加します:
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk-*****\bin
"%JAVA_HOME%\java" -jar selenium-server-^^^^^^.jar standaloneここで、***** は実行中の JDK のバージョン、^^^^^^ はインストールした Selenium Grid Server のバージョンです。末尾の
standalone
は、Selenium Grid Server のスタンドアロン オプションを示します。 -
テストしたいブラウザに対応する適切なWebDriverをそのフォルダにダウンロードします。
-
*.batファイルを実行してSeleniumサーバーが予想通りに起動することを確認し、Selenium設定を検証します。
-
Eggplant Functional を使用して、Selenium 環境への WebDriver 接続 を確立できることを確認します。
Seleniumサーバーの開始と停止
Selenium Standalone Serverを起動するには(すでに実行されていない場合):
- コマンドプロンプトを開きます。
- 前のセクションで作成した.batファイルに移動します。
- .batファイルを実行します。
Selenium サーバーを停止するには、ctrl
+ c
を同時に入力します。
MacでのSeleniumの設定
ここで説明する手順は、Sauce Labs 経由でのみブラウザーにアクセスする予定の場合は必要ありません。詳細については、このセクションの上部にある概要を参照してください。
MacでSeleniumフレームワークを使用してEggplant Functionalを設定するには、Seleniumサーバー、Java SE Development Kit(JDK)、および テスト対象のブラウザーに対応する適切なWebDriverをインストールする必要があります。
以下の例では、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以降が必要です。