*

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

公開日: : 最終更新日:2017/10/22 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.chromedriver.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の新しいところが全く出てない内容ですが、今回は以上となります。


スポンサードリンク



関連記事

EclipseでAndroidアプリケーションの開発環境の構築と”Hello World!”まで

対象のOSはMac(OS X 1.9.5)とWindows7 64bitとなります。 といっても手

記事を読む

Java超入門 with Eclipse[1:Eclipse環境の作成とEclipseの使い方の説明]

「JDT betaを利用してJDK8(java 8)対応のEclipse開発環境を作成する」では、最

記事を読む

JUnit入門その8[Eclipse4.4のJUnitプラグインのテストケースのカバレッジをEclEmmaを利用して測定してみる]

今回は「EclEmma」を使って、テストのカバレッジの測定を行うエントリーとなります。 「djUn

記事を読む

Java超入門 with Eclipse[3:クラスに関する基礎知識(クラスとインスタンスとパッケージ)]

Javaといえば、「オブジェクト指向」とのイメージがとっても強いですよね。 そう、そうです。間違い

記事を読む

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

Spring5入門ではJUnit4とmockitを利用したSpringのController、Ser

記事を読む

Selenium入門その3[Selenium WebDriver(Java/Junit4)の使い方]

WebDriverでは、予め中継サーバを起動しなくても、テスト実行時にブラウザ拡張機能や、OSのネイ

記事を読む

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

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

記事を読む

Java8の新機能について

オラクルは2014年3月18日(日本時間3月19日早朝)に「Java 8」を正式に公開しました。

記事を読む

Java超入門 with Eclipse[4:クラスに関する基礎知識(修飾子とクラスとインスタンスと変数)]

前回は、Javaの基本であるクラスの基本的な知識をざっくりと説明させていただいたあと、 packa

記事を読む

Javaによる非同期処理入門その1[非同期処理の実装方法の概説]

Javaによる非同期処理に関するエントリーを前々から作成したいと思っていたのですが、ついに作成してみ

記事を読む

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となりも

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑