Motomichi Works Blog

モトミチワークスブログです。その日学習したことについて書いている日記みたいなものです。

windows7+eclipse+Selenium WebDriverその0007(mavenプロジェクトとして環境構築をやり直してみる)

参考にさせて頂いたページ

Eclipse+Maven という便利な開発環境をインストールからプロジェクト作成まで - Qiita

Java+SeleniumなWebアプリケーションの自動テストプロジェクト構築 - Qiita

自動テストはじめませんか?#1 | Developers.IO

Selenium 2 事始め - Maven編 - 僕らはみんな歪ている

Maven3とEclipseの設定 - mttn572のプログラミングメモ

Maven Eclipseとの連携 - @//メモ

以前書いた記事の途中まで実行する

まず

windows7+eclipse+Selenium WebDriverその0001(環境構築して、Firefoxでwebページを開いて閉じるとこまで) - MOTOMICHI WORKS BLOG

で書いた

  • jre-8u45-windows-x64.exeをダウンロードしてきてインストール
  • eclipse-java-luna-SR2-win32-x86_64.zipをダウンロードして解凍
  • C:\Users\ユーザー名\workspaceを作成

までをやる。

eclipse.iniに文字エンコーディングの設定を追記

Eclipse+Maven という便利な開発環境をインストールからプロジェクト作成まで - Qiitaを参考にさせて頂いて進めていきます。

eclipse.iniに以下の一行を追記しました。

-Dfile.encoding=UTF-8

Maven Projectを新規作成する

  • File > New > Project...をクリック
  • Maven Projectを選択して、Nextボタンをクリック
  • Create a simple projectにチェックを入れて、Nextボタンをクリック
  • Group Idは任意の文字列で良いと思うので一旦com.example.testsとしました
  • Artifact Idはプロジェクト名で、任意の文字列で良いけどhoge-sampleとしました
  • Versionはデフォルトのままにしたので、0.0.1-SNAPSHOT
  • Packagingもデフォルトのままにしたので、jar

ここまでやって、Package Explorerから見てみると、参考にさせて頂いているページのとおりのディレクトリ構成になった。

jdkのバージョン変更

私の環境では

  • Package Explorerの中から、JRE System Libraryを右クリック
  • Propertiesをクリック
  • Execution environmentのプルダウンから、JavaSE-1.8(jre1.8.0_45)を選択
  • OKボタンをクリック

で変更できました。

ライブラリの追加ダイアログを開く

  • pom.xmlを右クリックして、Maven > Add Dependencyをクリック

dependencyを追加する(selenium-javaの追加)

Java+SeleniumなWebアプリケーションの自動テストプロジェクト構築 - Qiitaを参考にさせて頂いて

  • Group Idにはorg.seleniumhq.selenium
  • Artifact Idにはselenium-java
  • Versionには2.45.0

を入力して、OKをクリックしました。

pom.xmlには、

<dependencies>
  <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>2.45.0</version>
  </dependency>
</dependencies>

が追記されたのがわかります。

dependencyを追加する(junitの追加)

同じくJava+SeleniumなWebアプリケーションの自動テストプロジェクト構築 - Qiitaを参考にさせて頂いて

  • Group Idにはjunit
  • Artifact Idにはjunit
  • Versionには4.11

を入力して、OKをクリックしました。

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
</dependency>

が追記されたのがわかります。

このとき、Package Explorerには、Maven Dependenciesというフォルダが生成されて、C:\Users\ユーザー名\.m2\repository\に依存関係も含めて必要なjarファイルをMavenがダウンロードしてくれているらしい。

pom.xmlの変更を反映する

pom.xmlを編集したあとは、以下の手順を実行して、変更を反映する。

  • hoge-sampleを右クリックして、Maven > Update Project...をクリック
  • 更新が必要なプロジェクトをチェック
  • OKをクリック

これを実行したら、jdkのバージョンがJRE System Library[J2SE-1.5]に戻ってしまったので、また1.8にしておいた。

これも本来pom.xmlに書いておくということなのだろうか?

テスト実行用のjavaファイル(HogeTest.java)を作成する

  • src/test/javaを右クリック
  • New > Classをクリック
  • NameのところにClass名を入れるので一旦HogeTestとした
  • Finishをクリック

HogeTest.javaの編集と記述内容

以下のように記述した。

import org.junit.Before;
import org.junit.Test;
import org.junit.After;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class HogeTest {
    private WebDriver driver;
    @Before
    public void setUp(){
      //Firefoxを起動
      driver = new FirefoxDriver();
    }

    @Test
    public void testSample(){
      driver.get("http://www.yahoo.co.jp/");
    }

    @After
    public void tearDown(){
      //ブラウザを閉じる
      driver.quit();
    }
}

HogeTest.javaを実行してみる

HogeTest.javaを右クリックして、Run As > 1 Unit Testをクリックすると、Firefoxが起動して、Yahoo Japanのサイトが開いた。

とりあえず動くところまでできたので、今回はここまで。

おまけ

jdkのバージョンはJRE System Library[J2SE-1.5]を選択しても、JavaSE-1.8(jre1.8.0_45)を選択しても今のところ普通に動いている。