*

Selenium入門その6[Selenium3でWebDriver(Java/Junit4)の環境を作成しEdge,Chrome,Firefoxで確認してみる]

公開日: : 最終更新日:2018/12/15 Eclipse, Java, JUnit, Selenium, 未分類


スポンサードリンク



Selenium3も3.0.1がリリースされましたし、今後は本格的にSelenium3が利用されていくことが明らかとなってきましたので、簡単ではありますが、環境作成とEdge,Chrome,Firefoxで簡単なテストを実行するエントリーを記載させていただきます。

と言っても、Webドライバーを利用するだけであればほぼSelenium2と同じですが・・・

本エントリーの内容は以下の通りです。

  • 必要なファイルのダウンロード
  • EclipseでSelenium3のWebDriverの利用環境を構築する
  • Firefox、Chrome 、Edgeで簡単なテストを動作させる


1. 必要なファイルのダウンロード

Selenium3のClient Javaライブラリのダウンロード

http://www.seleniumhq.org/download/
にアクセスし、以下の画像の赤枠部分をクリックしファイルをダウンロードします。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-21-08-38

2016年12月9日現在、selenium-java-3.0.1.zipとのファイル名となります。

GeckoDriverのダウンロード

Selenium2までは特別なドライバを必要としなかったFireFoxですが、Selenium3からはGeckoDriverが必要となっています。
https://github.com/mozilla/geckodriver/releases
にアクセスし、以下の画像の赤枠部分をクリックしファイルをダウンロードします。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-21-19-16

と書きつつ、上記の例はWindows 64ビット環境のリンクにフォーカスしていますので、ご利用の環境にあったファイルをクリックしてください。

2016年12月9日現在、geckodriver-v0.11.1-win64.zipとのファイル名となります。

なお、GeckoDriverとSelenium3が対応しているFireFoxはv47以降ですので、これより古いFireFoxをご利用の場合は事前にアップデートする必要があります。

ChromeDriverのダウンロード

ChromeはSelenium2と同じです。
https://sites.google.com/a/chromium.org/chromedriver/downloads
にアクセスし、以下の画像の赤枠部分をクリックします。なおChromeDriver 2.25に対応するChromeのバージョンはv53から55となります。

画面遷移後に以下の画像の以下の画像の赤枠部分をクリックしファイルをダウンロードします。ChromeDriverは32ビットしかないので64ビット環境でも32ビット版を利用します。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-21-27-02

2016年12月9日現在、chromedriver_win32.zipとのファイル名となります。

MicrosoftWebDriverのダウンロード

EdgeもSelenium2と同じですね。
https://www.microsoft.com/en-us/download/details.aspx?id=48212
にアクセスし、以下の画像の赤枠部分をクリックしファイルをダウンロードします。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-21-31-35

2016年12月9日現在、MicrosoftWebDriver.msiとのファイル名となります。

2. EclipseでSelenium3のWebDriverの利用環境を構築する

Javaプロジェクトの作成

SeleniumTestと言う名前でプロジェクトを作成します。
a98f7f7565b3657739a6902d04586341

bb63ce3c2dac738023f597e4bee5f664

必要なライブラリの追加

プロジェクトに必要なライブラリを追加します。

まずlibフォルダをプロジェクトに追加します。
SeleniumTestのプロジェクトを選択し、右クリックメニューの[新規]-[フォルダ]をクリックします。
3a71fc908e2ebd6b613d6653686193c2

フォルダ名にlibを入力し「完了」ボタンをクリックします。
6228e68f2c5efda696f1bf79979bf7c0

selenium-java-3.0.1.zipを解凍し、解凍後のフォルダに含まれるclient-combined-3.0.1-nodeps.jarとlibフォルダ配下のjarファイルを先ほど作成したlibにドラッグ&ドロップします。

パッケージ・エクスプローラーは以下のようになったはずです。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-21-48-31

次にlib配下のjarをビルドパスに追加します。
SeleniumTestのプロジェクトを選択し、右クリックメニューの[プロパティ]をクリックします。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-21-51-54

「Javaのビルド・パス」をクリックし、「ライブラリ」タブ、「jarを追加…」をクリックします
2e870744daa55915b2a70f8671179d10

lib配下の全てのjarを選択後に「OK」ボタンをクリックします。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-21-55-31

「OK」ボタンをクリックして変更を確定させます。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-21-56-35

WebDriverの追加

libフォルダをプロジェクトに追加した時と同様にexeフォルダを作成し、作成したフォルダにgeckodriver.exe、chromedriver.exe、MicrosoftWebDriver.exeをドラッグ&ドロックします。
(各実行ファイルはダウンロードしたgeckodriver-v0.11.1-win64.zip、chromedriver_win32.zip、MicrosoftWebDriver.msiを解凍or実行すると生成されます。)

追加後のイメージは以下の通りです。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-09-22-07-50

3. Firefox、Chrome 、Edgeで簡単なテストを動作させる

クラスの作成

sample.selenium3.Selenium3Sampleクラスを作成し、中身を以下のようにします。

ユニットテストフレームワークはJUnitを利用します。

FireFoxのテストケース

googleでSelenium3を検索する処理の例は以下のようになります。

・4行目

geckoのドライバのパスを指定しいます。今回の例ではexeフォルダにgeckodriver.exeを格納していますので、相対パスで指定しております。

・5行目

Selenium3ではDesiredCapabilitiesのmarionetteにtrueを設定しないと動作しないようですので、DesiredCapabilitiesを取得しております。
(あくまで現状との意味ですが・・・)

・6行目

marionetteにtrueをセット

・7行目

設定したDesiredCapabilitiesを指定してFirefoxDriverのインスタンスを生成

・8行目

http://www.google.comを開く

・9行目

検索キーワードのテキストボックスに文字列のSelenium3を入力

・10行目

検索ボタンをクリック

・11-13行目

WebDriverをクローズ

このfirefoxTestをUnitテストとして実行するとFireFoxが起動して、Googleで”Selenium3″を検索します。

Chromeのテストケース

同様にgoogleでSelenium3を検索する処理の例となります。

FireFoxと異なる点はWebDriverを指定するときの名前と実行ファイルのパス、インスタンス化するWebDriverの実装クラスだけです。
System.setProperty(“webdriver.chrome.driver”, “./exe/chromedriver.exe”);
で正常にchromeが起動しない場合は、環境変数のパスに”./exe/chromedriver.exe”の実パスを追加し、System.setPropertyをコメントアウトすると動作します。

driver.findElement(By.name(“btnK”)).click();ですが、chromeのバージョンによっては動作しないようですので
クリックが動作しない場合は
driver.findElement(By.id(“lst-ib”)).sendKeys(Keys.ENTER);
とid指定をお試しください。

Edgeのテストケース

FireFoxとChromeの違いと同じですので、意味ないですが・・・

と見たまんまですね・・・

Edgeは検索キーワードを入力するとキーワードの候補が一覧に表示されるので、それをはねのけて検索するためにエンターキーを送信しています。
edge

ってSelenium3とは関係ないですが・・・

Selenium3の新しいところが全く出てない内容ですが、今回は以上となります。


スポンサードリンク



関連記事

お勧め本紹介[新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)]

リファクタリング―プログラムの体質改善テクニック (Object Technology Series

記事を読む

Eclipseの「DBViewer」プラグインの使い方[前編]

「HyperSQL」の環境を作成し、Eclipseの「DBViewer」プラグインを利用してSQLを

記事を読む

Eclipseの「DBViewer」プラグインを利用して「Java DB」の環境を作成し、SQLを発行してみる

EclipseのJUnitプラグインとDBUnitを併用したDB(データベース)のアクセス処理のユニ

記事を読む

Eclipseの使い方(Eclipse4.4のブックマーク機能とタスク機能)

今回は、Eclipseのブックマーク機能とタスク機能の説明をさせていただきます。 両機能とも効率的

記事を読む

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・クラスパスの順序およびエクスポート設定]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上の「ビルド・クラスパスの順序および

記事を読む

JUnit入門その2[Eclipse4.4のJUnitプラグインのassertThatの使い方]

JUnit入門その1ではEclipseのJUnitプラグインの基本的な使い方を説明させていただきまし

記事を読む

Selenium入門その5[ページオブジェクトパターン(Page Object Design Pattern)を利用して変更に強いテストを作成する方法]

Selenium入門その2 では「UIマップファイル」と言う仕組みが存在していることに言及させてい

記事を読む

Java超入門 with Eclipse[2:プリミティブ型(基本データ型)とは]

他のプログラミング言語と同様に、Javaにもデータ型が存在します。 Java超入門の第2回では、プ

記事を読む

Eclipse(4.4)でJava言語のリファクタリング機能の使い方[「メソッド・シグニチャーの変更」と基本的な抽出処理、及び「インライン化」、「定数の抽出」]

本エントリーでは、Eclipse(4.3)でJava言語のリファクタリング機能の使い方に引き続き

記事を読む

Java8のラムダ式とStream APIを利用してコーディング量の削減サンプル集

Java8になりラムダ式と「Stream API」が利用できるようになりました。 C#では一足早く

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Spring5入門[AbstractRoutingDataSourceで複数DBへの接続とトランザクション制御]

今回はSpring MVCから複数データベースに接続とトランザクション

Eclipse Oxygen Update 1 (4.7.1)を利用してJUnit5の公式ガイドの内容を実践してみる。

いよいよJUnit5が本格的に利用できる環境が整ってきました。

Spring5入門[簡単なWebアプリのユニットテストをJUnit5とJMockitで作成]

Spring5入門ではJUnit4とmockitを利用したSpring

Spring5入門[STS(Spring Tool Suite)で簡単なWebアプリの典型的なユニットテストの実現方法]

前回は「Spring入門」で、Spring MVCを利用した簡単なWe

Spring5入門[STS(Spring Tool Suite)の環境作成と簡単なWebアプリの作成]

Struts1ももう過去の遺物になり、SAStrutsもEOLとなりも

→もっと見る

PAGE TOP ↑