開発者ブログ
HTML5資料室 » Selenium WebDriverのインストール~動かしてみる

Selenium WebDriverのインストール~動かしてみる

Last modified by simdy on 2014/07/08, 17:51

Selenium WebDriverとは

Googleが開発したWebアプリケーション用テストフレームワークです。2011年にSeleniumプロジェクトに統合されました。
2013年7月現在の最新バージョンは、2.33.0です。

テスト環境

  • Windows7 64bit SP1
  • Eclipse Pleiades All in One 4.2.2

手順

PCブラウザ(Google Chrome)でテストを行う

  1. Seleniumのサイトから最新のライブラリをダウンロードします。今回は「selenium-java-2.33.0.zip」をダウンロードします。
  2. Eclipseを起動後、新規Javaプロジェクトを作成します。今回はプロジェクト名を「WebDriverTest」とします。
  3. WebDriverプロジェクト直下に「lib」フォルダを作成します。
  4. ダウンロードしたzipファイルを解凍すると以下のファイルとフォルダがあるので、libsフォルダ内のjar全てと、selenium-java-2.33.0.jarをWebDriverプロジ  ェクトのlibフォルダにコピーします。
    • libs
    • CHANGELOG
    • selenium-java-2.33.0.jar
    • selenium-java-2.33.0-srcs.jar
  5. libフォルダにコピーしたjarを全て、クラスパスに追加します。
    •  WebDriverプロジェクトを右クリックし、[プロパティ]から[Javaのビルド・パス]を選択します。
    • ライブラリータブから「jar追加(J)」ボタンを押します。
    • フォルダーツリーからWebDriver/lib以下のjarを選択し「OK」ボタンを押します。
    • プロパティ画面に戻るので、「OK」ボタンを押してプロパティを閉じます。
  6. テストクラスの格納するパッケージを作成します。
    •  srcのパッケージフォルダを削除し、src/testパッケージフォルダを新規作成します。
    • src/testパッケージフォルダに任意の名称のパッケージを作成します。今回はパッケージ名を「com.htmlhifive.sample」とします。
  7. Google Chromeがインストールされていない場合は、ここからダウンロードして下さい。
  8. Google ChromeをWebDriverから起動するにはchromedriver.exeが必要です。ここから、ダウンロードして下さい。
    今回使用しているOSはWindows7の64ビットですが、64bit専用のchromedriverが無いため、32ビット版のchromedriver「chromedriver_win32_2.1.zip」ダウンロードします。
    ダウンロードしたchromedriver_win32_2.1.zipを解凍するとchromedriver.exeが作成されるので、WebDriverTestプロジェクト直下に「driver」フォルダを新規作成し、ここにchromedriver.exeを置きます。

    この時点で、プロジェクトは以下のような構成になっています。

    eclipse-project-setting.png
     
  9. webdriverにはjunit.jarとtestng.jarが含まれているので、JUnit/TestNGどちらでもテストを実行することができますが、今回はJUnitを使用してテストケースを作成します。
    以下のテストシナリオで実装を行います。
    • http://www.htmlhifive.com/conts/web/view/Main/WebHome をGoogle Chromeで開く。
    •  「コンテンツ」の一覧にある「チュートリアル」のリンクをクリックする。
    •  「チュートリアル」のページが表示されることを確認する。
  10. com.htmlhifive.sampleパッケージに「HifiveSiteTest.java」を作成しテストコードを実装します。コードは以下のとおりです。

    package com.htmlhifive.sample;

    import static org.junit.Assert.assertEquals;

    import org.junit.BeforeClass;
    import org.junit.Test;
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.WebDriverWait;

    public class HifiveSiteTest {

    @BeforeClass
    public static void Setup() {
    System.setProperty("webdriver.chrome.driver", "./driver/chromedriver.exe");
    }

    @Test
    public void test1() {
    WebDriver driver = new ChromeDriver();
    driver.get("http://www.htmlhifive.com/conts/web/view/Main/WebHome");
    WebElement elTutorial = driver.findElement(By.linkText("チュートリアル"));
    elTutorial.click();

    WebDriverWait wait = new WebDriverWait(driver, 10);
         WebElement elTitle =  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("document-title")));
         assertEquals("チュートリアルページが表示されていること。", elTitle.getText(), "tutorial");
         driver.quit();
    }
    }
  11. テストケースを実行します。
    HifiveSiteTest.java上で右クリックを押し、メニューから「実行」->「JUnitテスト」から実行します。
    テストが実行され以下のようになっていれば成功です。

junit-test-result.png

Android端末でテストを行う

※ PCブラウザのテスト実行手順で作成した、WebDriverTestプロジェクトを使用します。

  1. Seleniumのサイトから、android-serverのapkファイルを取得します。今回は最新版のandroid-server-2.32.0.apkを使用します。
  2. Androidのサイトから、Android SDKをダウンロードし、Cドライブ直下にインストールします。(パスはC:\android-sdkとなっていること)
  3. Android SDKをインストール後、Android SDKで使用する環境変数を設定します。
    • 変数名: ANDROID_SDK  値: C:\android-sdk
  4. 環境変数PATHに以下の値を追加します。
    • %ANDROID_HOME%\platform-tools;
  5. com.htmlhifive.sampleパッケージに「HifiveSiteTestAndroid.java」を作成し、テストコードを実装します。シナリオはHifiveSiteTest.javaと同じです。
    コードは以下のとおりです。

    package com.htmlhifive.sample;

    import static org.junit.Assert.assertEquals;

    import org.junit.Test;
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.android.AndroidDriver;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.WebDriverWait;

    public class HifiveSiteTestAndroid {
    @Test
    public void test1() {
    WebDriver driver = new AndroidDriver();
    driver.get("http://www.htmlhifive.com/conts/web/view/Main/WebHome");
    WebElement elTutorial = driver.findElement(By.linkText("チュートリアル"));
    elTutorial.click();

    WebDriverWait wait = new WebDriverWait(driver, 10);
         WebElement elTitle =  wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("document-title")));
         assertEquals("チュートリアルページが表示されていること。", elTitle.getText(), "tutorial");
         driver.quit();
    }
    }

     
  6. Micro USBケーブルでPCと実機を接続後、コマンドプロンプトで以下のコマンドを実行し、android-server-2.32.0.apkをテスト端末にインストールします。
    • adb install android-server2.32.0.apk
      ※ もし、OSがAndroid端末を認識しない場合は、テスト端末の製造元サイトからドライバをダウンロードして、PCにインストールして下さい。
  7. 端末でWebDriverのアプリケーションを起動します。
  8. コマンドプロンプトで以下のコマンドを実行し、端末からテストページにアクセスできるようにします。
    • adb forward tcp:8080 tcp:8080
  9. テストケースを実行します。
    HifiveSiteTestAndroid.java上で右クリックを押し、メニューから「実行」->「JUnitテスト」から実行します。
    テストが実行され以下のようになっていれば成功です。

    junit-test-result2.png

iOS端末でテストを行う

WebDriverのIPhoneDriverは現在非推奨になっています。
下記のサイトでは『iOSシミュレータでテストを行う場合は、別のテストフレームワークであるos-driverまたはappiumもチェックして下さい』と書かれています。

https://code.google.com/p/selenium/wiki/IPhoneDriver


Copyright (C) 2012-2017 NS Solutions Corporation, All Rights Reserved.