覚え書き

Seleniumを使用して、テストの自動化に挑む!JUnit編

こんにちは!

糖質制限ダイエットの成果が徐々に出てきて調子にのってる遠藤です。

今回はSelenium&JUnitを使ってFirefox、Chrome、Safariのブラウザテストを実施します。

 JUnitテストコード作成

操作ログの取得

基本編で使用したSelenium IDEを使って操作ログを記録します。

基本編はこちら→https://www.seekcloud.co.jp/blog/memorandum/158

操作ログのエクスポート

操作ログをJUnit向けにエクスポートします。

1.ファイル → テストケースをエクスポート → Java / JUnit4 / WebDriver を選択
長野県 ホームページ制作

Eclipse テストプロジェクト作成

Eclipseにはいつからか標準でJUnitを実行する環境が整っています。
ってわけで、早速ガツガツテスト環境を構築します。!

Eclipse プロジェクト作成

1.ファイル→新規→Java プロジェクトをクリック

2.プロジェクト名に「SeleniumSample」と入力後、完了ボタンをクリック
上田市 ホームページ制作

3.ファイル名に「任意のファイル名java」と入力し、保存をクリック
ここでは「TestCase001.java」と入力します。
Selenium 保存 長野県 ホームページ制作

Mavenプロジェクトに変更

Mavenプロジェクトに変更して、Mavenでライブラリの管理を行います。

1.プロジェクトを右クリック → 構成 → Mavenプロジェクトへ変換
Maven 上田市 ホームページ制作

2.各項目はそのままで、「完了」ボタンをクリック。
レッドブルを飲みながらしばらく待ちます。
Maven 上田市 ホームページ制作

Mavenに依存ライブラリを追加

1.「pom.xml」を右クリック → 次で開く → テキスト・エディター をクリック
maven編集 上田市 ホームページ制作

2.下記のように編集します。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>SeleniumSample</groupId>
  <artifactId>SeleniumSample</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.45.0</version>
    </dependency>
    <dependency>
	  <groupId>junit</groupId>
	  <artifactId>junit</artifactId>
	  <version>4.12</version>
    </dependency>
  </dependencies>
</project>

Mavenの最新の設定値に関しては、ここを参照してください。
Selenium Maven
http://www.seleniumhq.org/download/maven.jsp
JUnit
http://mvnrepository.com/artifact/junit/junit

プロジェクトのリビルド

Mavenの依存ライブラリを追加したので、プロジェクトをリビルドします。
1.メニューバーの「プロジェクト」 → 「クリーン」をクリック
モンスターエナジーを飲みながらしばらく待ちます。
スクリーンショット_2015-03-11_11_10_11

インポート先パッケージ作成

インポート先のパッケージ作成を作成します。

1.「src」右クリック → 新規 → パッケージ をクリック
パッケージ作成 上田市 ホームページ制作

2.名前に「com.example.tests」と入力して、「完了」ボタンをクリック
パッケージ名入力 上田市 ホームページ制作
パッケージ出来上がり 上田市 ホームページ 制作

ファイルをインポート

Eclipseのプロジェクトにテストコードをインポートします。
1.先ほど作成したプロジェクトにJUnitテストコードをドラック
インポート 上田市 ホームページ制作

2.ファイル操作についてウィンドウが立ち上がったら、そのままOK
ファイル操作 上田市 ホームページ制作

テスト実行

いよいよテストを実行します!!!!
1.実行ボタンの右のちっさい「▼」をクリック → 実行 → JUnitテストをクリック
自動でFireFoxが立ち上がり、弊社サイトが表示後、FireFoxが閉じれば成功です!
FireFox JUnit Seleniumテスト実行 上田市 ホームページ制作

Chromeでテストを実行する

Chromeで実行するようにします。

WebDriver設置フォルダ作成

プロジェクトフォルダにDriverフォルダを作成します

1.プロジェクト名を右クリック → 新規 → フォルダー
Driverフォルダ作成 上田市 ホームページ制作

2.フォルダ名に「Driver」と入力後、「完了」ボタンをクリック
フォルダ名 入力 長野県 ホームページ 制作

WebDriverダウンロード

1.下記のサイトから最新版のファイルをダウンロードし解凍後、作成したフォルダに設置
http://chromedriver.storage.googleapis.com/index.html

2.ターミナルから実行権限を付与する

chmod +x chromedriver

3.TestCase001.javaを書き換える
書き換え後、importの編成の更新をお忘れなく!

  public void setUp() throws Exception {
    //driver = new FirefoxDriver(); // コメントアウト
    System.setProperty("webdriver.chrome.driver", "Driver/chromedriver"); // 追記
    driver = new ChromeDriver(); // 追記
    baseUrl = "http://www.yahoo.co.jp/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

4.テスト実行!
Chromeで弊社のサイトが表示されれば成功!!

Safariでテストを実行する

Safariで実行するようにします。

Safariの拡張機能ダウンロード

1.Seleniumの公式サイトからSafariの拡張機能をダウンロード
Safari 拡張機能 上田市 ホームページ 制作

2.ダウンロードしたファイル「SafariDriver.safariextz」をダブルクリック
Safariに拡張機能がインストールされます。
インストール確認 上田市 ホームページ制作

3.TestCase001.javaを書き換える
書き換え後、importの編成の更新をお忘れなく!

  public void setUp() throws Exception {
    //driver = new FirefoxDriver(); // コメントアウト
    // System.setProperty("webdriver.chrome.driver", "Driver/chromedriver"); // 追記
    // driver = new ChromeDriver(); // 追記
    driver = new SafariDriver(); // 追記
    baseUrl = "http://www.yahoo.co.jp/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

4.テスト実行!
Safariで弊社のサイトが表示されれば成功!!