Selenium Tips

随時追記中。。

Page Object Design Pattern

 別記事で書いてます。

改行を送信

 別記事で書いてます。

FooterWait

// footerが出るまで待機
public static void FooterArrivalWait() {
	Wait<WebDriver> wait = new WebDriverWait(driver, 30);
	wait.until(presenceOfElementLocated(By.id("Footer")));
}
・使用例
driver.get("http://www.yahoo.co.jp)";
Extract_Wait.FooterArraivalWait();

とか、

driver.findElement(By.id("Jigsaw"));
Extract_Wait.FooterArraivalWait();

このメソッドを挟むだけで、読み込み未遂による失敗・エラーは激減する。
毎日、約400ケースを回しているが、読み込み未遂による失敗・エラーは、ほぼ0。

テキストフィールド

public static void SendKeysANDClear(By by, String Key) {
	Extract_Wait.FooterArrivalWait();
	try {
		Extract_Driver.driver.findElement(by).clear();
		Extract_Driver.driver.findElement(by).sendKeys(Key);
	} catch (NoSuchElementException e) {
		fail("指定されたフィールドが見つからない:" + by);
	}
}

ポップアップ

// 新しいウィンドウに切り替え
public static void popupChangeNewWindow() {
	// ポップアップしたウィンドウのID取得
	Default_Windows = driver.getWindowHandle();
	String newWindowId = null;

	for (String id : driver.getWindowHandles()) {
		if (!id.equals(Default_Windows)) {
			newWindowId = id;
		}
	}

	try {
		Thread.sleep(2500);
	} catch (InterruptedException e) {

	}

	// ウィンドウ切り替え
	driver.switchTo().window(newWindowId);
}

// メイン画面へ戻す
public static void popupChangeMainWindow() {
	driver.switchTo().window(Default_Windows);
}

画像のURL取得

// 指定画像のURLを返す
public static String returnImageURL(By by) {
	String ImageURL = null;
	try {
		ImageURL = driver.findElement(by).getAttribute("src");
	} catch (NoSuchElementException e) {
		fail("画像が見つからない");
	}
	return ImageURL;
}

ダイアログ

// ダイアログでOKを選択する
public static void dialogOK() {
	Alert confirm = driver.switchTo().alert();
	confirm.accept();
}

// ダイアログでキャンセルを選択する
public static void dialogNO() {
	Alert confirm = driver.switchTo().alert();
	confirm.dismiss();
}