WebDriver explicit wait in Scala WebDriver explicit wait in Scala selenium selenium

WebDriver explicit wait in Scala


It would look very similar. Some types and parenthesis could be omitted. But as long there is no special Scala API that uses some of the Scala features, it would look something like this (maybe more dots could be comitted, too):

val driver: WebDriver = new FireFoxDriverdriver.get("http://somedomain/url_that_delays_loading")val myDynamicElement = new WebdriverWait(driver, 10).until(  new ExpectedCondition[WebElement] {    override def apply(d: WebDriver) = d.findElement(By.id("myDynamicElement"))  })


I have helper class for shorter and cleaner code in Scala:

case class SeleniumHelper(timeOut: Int) {  def waitFor(driver: WebDriver, f: (WebDriver) => WebElement) : WebElement = {    new WebDriverWait(driver, timeOut).until(     new ExpectedCondition[WebElement] {      override def apply(d: WebDriver) = f(d)    })  }  def test() = {  val driver: WebDriver = new FirefoxDriver  driver.get("http://www.abksystem.com")  waitFor(driver, _.findElement(By.className("module module-Menu")))  }}