初めての Selenium Web Driver with Java (v2)

JavaSelenium 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.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().pageLoadTimeout(60, TimeUnit.SECONDS);
		browser.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

		// 所定の URL を開く
		browser.get("http://なにかURL.com/");

		System.out.println(browser.getCurrentUrl());
		System.out.println("    "+browser.getTitle());
		assertEquals("遠吠え! HAWAI", browser.getTitle());

		
		{
			final WebElement eleAnchor = browser.findElement(By.linkText("無料アイデンティファイ活用"));
			eleAnchor.click();

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

		Thread.sleep(1000);

		{
			final WebElement eleLoginDiv = browser.findElement(By.className("yjmthloginarea"));
			final WebElement eleLoginLink = eleLoginDiv.findElement(By.linkText("ログイン"));
			eleLoginLink.click();

			System.out.println(browser.getCurrentUrl());
			System.out.println("    "+browser.getTitle());
			assertEquals("ログイン - 遠吠え! HAWAI", browser.getTitle());
		}

		Thread.sleep(1000);

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

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

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

			Thread.sleep(1000);

			browser.findElement(By.id(".save")).click();

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

		// ログイン作業を終了

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

		Thread.sleep(5000);

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

より新しいバージョン