メインコンテンツまでスキップ

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.183Chromedriver 85.0.4183.833.12JDK 14.0.2
Edge 86.0.623.63MSEdgeDriver 86.0.622.633.12JDK 14.0.2
Firefox 79GeckoDriver3.12JDK 14.0.2
ノート

Edge Chromiumはサポートされていません。

システムの設定

WindowsでSeleniumとEggplant Functionalを手動で設定するには、以下の手順を完了してください:

  1. テストしたいブラウザのバージョンをダウンロードするか、既にインストールされている場合はブラウザのバージョンを確認します。
  2. Seleniumスタンドアロンサーバーとブラウザと互換性のあるJavaバージョン(JDKまたはJRE)がインストールされていることを確認します。
  3. C:ドライブのルート上の任意の場所にフォルダを作成します。
  4. Selenium Grid(Selenium Standalone Server)の最新の安定バージョンをSUTにダウンロードし、新しいフォルダに配置します。
  5. *.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を起動するには(すでに実行されていない場合):

  1. コマンドプロンプトを開きます。
  2. 前のセクションで作成した.batファイルに移動します。
  3. .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 84ChromeDriver3.12JDK 14.02
Safari 12.0.2Safaridriver3.141.59openjdk 11.0.2

以下の例では、Google Chromeブラウザー用のWebDriverであるChromeDriverを使用します。

SeleniumサーバーとOracle JDKのインストール

  1. Homebrew iOSパッケージインストーラーをインストールします:
    1. Terminalを開き、usr/bin/に移動します。
    2. 以下のコマンドを実行します:
        ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  1. 通常、JDKは既にMacにインストールされています。必要な場合は、JDKをOracleからダウンロードしてインストールします。

    先端

    Homebrewを使用してJavaをインストールするには、以下のコマンドを実行します:

    brew cask install java

  1. コマンドプロンプトから、以下のコマンドを実行して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サーバーにChromeDriverの位置を知らせます:

  1. コマンドウィンドウを開きます。
  2. 以下のコマンドを実行します:
    sudo nano /etc/paths

  1. パスワードを入力します。
  2. ファイルの最下部に移動し、ChromeDriverへのパスを入力します。たとえば、あなたのパスは以下のようになるかもしれません:
    /Users/<username>/Documents

  1. Ctrl+Xを押してエディタを終了します。
  2. 変更を保存するためにYを入力します。
  3. Enterを押して変更を確定します。

Safariでの自動化を有効にする

Safariブラウザで自動化を有効にするには、以下の手順を実行します:

  1. Safari > Preferencesに移動し、Advancedタブを選択します。
  2. Show Develop menu in menu barを選択します。設定を閉じます。
  3. Develop > Allow Remote Automationに移動します。
ノート

SafariでのWebDriver自動化には、macOS Sierra(10.12)以降およびSafari 10.0以降が必要です。