Selenium webdriver 播放框架:在多个驱动程序上运行测试

Selenium webdriver 播放框架:在多个驱动程序上运行测试,selenium-webdriver,playframework,specs2,Selenium Webdriver,Playframework,Specs2,我使用PlayFramework 2.3和specs2编写功能测试 在文档中,有以下示例 "run in a browser" in new WithBrowser(webDriver = WebDriverFactory(HTMLUNIT), app = fakeApplicationWithBrowser) { … } 如何针对多个驱动程序运行此测试 我目前使用: def drivers: Seq[String => WebDriver] = ... examplesBlock {

我使用PlayFramework 2.3和specs2编写功能测试

在文档中,有以下示例

"run in a browser" in new WithBrowser(webDriver = WebDriverFactory(HTMLUNIT), app = fakeApplicationWithBrowser) {
…
}
如何针对多个驱动程序运行此测试

我目前使用:

def drivers: Seq[String => WebDriver] = ...

examplesBlock {
  for (driver <- drivers) {
    "run in a browser" in ((s: String) => new WithBrowser(d(s)) {
…
    }
  }
}

有更简单的方法吗?

最后,我提出了一个更干净的解决方案,通过提取特征中的逻辑

trait MultiBrowser {
  self : Specification =>

  def drivers : Seq[String => WebDriver]

  def browsers(u: (String => WebDriver) => Unit) = examplesBlock {
    for (driver <- drivers) {
      u(driver)
    }
  }
}