Selenium

Seleniumを安定稼働させる

約300のテストクラス、実行しているテストケースで言えば約1,100ケース。 これを毎日定時に2回回してるけれども、まず失敗しない。しても、10回に1ケース。 なぜ、これほど安定するのか。 それは、魔法を使っているから!ではなく、ページを読み込む箇所に、…

WebDriver Firefox23以上でJavascriptExecutorが働かない模様

WebDriver Firefox23以上でJavascriptExecutorが働かない模様。。。Firefox22(Mac)までは動くんだけど、23以上にアップデートすると動かなくなる、、、 selenium-javaのバージョンも関係あるかと思ったが、あまり関係なさそう。 Firefoxの旧いバージョンは…

Selenium(WebDriver) findElementsとfindElementの違い

違いは"s"が付いているかどうかです。以上。findElement WebElement findElement(By by) findElements java.util.List findElements(By by) findElement(By by)だとWebElementが返り、findElements(By by)だと、Listが返ります。 そう、返ってくるものが違い…

Selenium(WebDriver)でテーブルの行数を取得する

Selenium(WebDriver)でテーブルの行数を取得する方法 findElementでテーブルを指定し、そこから[tagName]で[tr]を検索し、サイズを取得する driver.findElement(By.xpath("html/body/div/section/div/div[2]/table/tbody")).findElements(By.tagName("tr")…

Selenium Tips

随時追記中。。 Page Object Design Pattern 別記事で書いてます。 改行を送信 別記事で書いてます。 FooterWait // footerが出るまで待機 public static void FooterArrivalWait() { Wait<WebDriver> wait = new WebDriverWait(driver, 30); wait.until(presenceOfElem</webdriver>…

Page Object Design Pattern(ページオブジェクトパターン)

ドキュメントに少し解説あり。 Page Object Design Pattern ・ページオブジェクトパターンで実装すると何が良いのか ・ページ操作とシナリオの分離 ・メンテナンス性の向上 ・テストケースの追加コストが低い(既にあるページオブジェクトを使える場合) ・…

Seleniumで改行

driver.findElement(By.id("hogehoge")).sendKeys(Keys.ENTER); Enter以外もいろいろ打てるらしい。 http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/Keys.html