top / index / prev / next / target / source

2016-11-09 diary: [Selenium][Java] 初めての Selenium Web Driver with Java

いがぴょんの日記 日記形式でつづる いがぴょんコラム ウェブページです。

[Selenium][Java] 初めての Selenium Web Driver with Java

Java で Selenium Web Driver を操作するシンプルサンプルです。Selenium 2.53 で動作確認を取りました。

import static org.junit.Assert.assertEquals;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.By.ByClassName;
import org.openqa.selenium.By.ById;
import org.openqa.selenium.By.ByLinkText;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class SimpleSeleniumTest {
  @Test
  public void test001() throws Exception {
    // ライブラリパスに selenium-server-standalone-2.53.1.jar を設定

    // Selenium の WebDriver について、ローカルディスクの Chrome Driver を設定
    System.setProperty("webdriver.chrome.driver", "/home/user1/デスクトップ/installed/chromedriver");

    // Web ブラウザを起動
    final WebDriver browser = new ChromeDriver();

    // 基本タイムアウト時間を設定
    browser.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

    // 所定の URL を開く
    browser.get("http://なにかURL.com/");
    assertEquals("遠吠え! HAWAI", browser.getTitle());

    {
      final WebElement eleAnchor = browser.findElement(ByLinkText.linkText("無料アイデンティファイ活用"));
      eleAnchor.click();
      assertEquals("遠吠え! HAWAI アイデンティファイ・ガイド", browser.getTitle());
    }

    Thread.sleep(1000);

    {
      final WebElement eleLoginDiv = browser.findElement(ByClassName.className("yjmthloginarea"));
      final WebElement eleLoginLink = eleLoginDiv.findElement(By.linkText("ログイン"));
      eleLoginLink.click();
      assertEquals("ログイン - 遠吠え! HAWAI", browser.getTitle());
    }

    Thread.sleep(1000);

    {
      final WebElement eleName = browser.findElement(ById.id("username"));
      eleName.sendKeys("メールアドレス");

      final WebElement elePass = browser.findElement(ById.id("passwd"));
      elePass.sendKeys("password");

      final WebElement eleCheck = browser.findElement(ById.id("persistent"));
      if (eleCheck.isSelected()) {
        // チェックボックスにチェックがあればこれを外す
        eleCheck.click();
      }

      Thread.sleep(1000);

      final WebElement eleLogin = browser.findElement(ById.id(".save"));
      eleLogin.click();

      assertEquals("遠吠え! HAWAI アイデンティファイ・ガイド", browser.getTitle());
    }

    // ログイン作業を終了

    {
      final WebElement eleLoginDiv = browser.findElement(ByClassName.className("yjmthloginarea"));
      final WebElement eleStrong = eleLoginDiv.findElement(By.tagName("strong"));
      System.out.println(eleStrong.getText());
    }

    Thread.sleep(5000);

    // Webブラウザを閉じる
    browser.quit();
  }
}

より新しいバージョン

他にテスト項目として役立ちそうなもの

登場キーワード


この日記について