【发布时间】:2014-01-14 17:58:51
【问题描述】:
如何在 Play Framework 2.2 规范中为 PhantomJSDriver 配置特定的 Accept-Language 语言标头?
鉴于此代码:
import org.specs2.mutable._
import org.specs2.runner._
import org.junit.runner._
import play.api.i18n._
import play.api.test._
import play.api.test.Helpers._
import org.openqa.selenium.phantomjs.PhantomJSDriver
@RunWith(classOf[JUnitRunner])
class IntegrationSpec extends Specification {
"Application" should {
"work from within a browser" in new WithBrowser(webDriver = classOf[PhantomJSDriver]) {
browser.goTo("http://localhost:" + port)
implicit val lang = Lang("pt-BR")
val expected = Messages("home.index.featured_lead")
browser.pageSource must contain(expected)
}
}
}
如何确保goTO 生成的请求将使用特定的Accept-Language 标头发送,例如pt-BR?
更新:问题的目的是能够在模拟浏览器(例如 PhantomJS)中运行测试,并且浏览器配置为特定语言。上面的代码示例只是要求浏览器检测页面中是否存在一些本地化的文本,但是可以在模拟浏览器中运行的测试种类有很大差异。例如,文本可能在运行时通过 JavaScript 设置。或者我可能想要截取屏幕截图并将其与之前的参考屏幕截图进行比较,以测试布局。默认情况下,显然浏览器正在使用机器的语言环境,这会破坏持续集成测试。所以问题是如何从 Play Framework 测试中配置 PhantomJS。
【问题讨论】:
标签: scala selenium playframework phantomjs playframework-2.2