Scala + Selenium

当然ですが、java 用の driver を使えば使えます。


サンプルとして、Scalatest のページに User Guide へのリンクが出ているかのテストをします。

// build.sbt
libraryDependencies ++= Seq(
  "org.seleniumhq.selenium" % "selenium-java" % "2.19.0",
  "org.scalatest" %% "scalatest" % "1.7.1" % "test"
)
package com.example

import org.scalatest.FlatSpec
import org.scalatest.matchers._

import org.openqa.selenium._
import firefox._

class ScalatestWebPageSpec extends FlatSpec with ShouldMatchers {

  val driver = new FirefoxDriver
  driver.get("http://www.scalatest.org")

  "scalatest.org" should "have User Guide" in {
    driver.findElementsByLinkText("User Guide").size should be > (0)
  }

}

⇣こんな感じで動きます。BGM は Jimmy Jazz/The Clash です。



selenium は以前に使ったときは、まず selenium-server を立ち上げて...ってやってた気がするんですが、
最近は WebDriver というのに selenium-server 的なものが含まれているようで、使いやすくなりましたね。


参考: