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(); }