【问题标题】:PlayFramework ScalaTest Testing webpages with seleniumPlayFramework ScalaTest 使用 selenium 测试网页
【发布时间】:2016-03-09 02:07:59
【问题描述】:

我正在尝试在我的应用程序中使用 selenium 进行一些测试,但出现此错误

[错误] - com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter - runtimeError: message=[指定了无效或非法的选择器(选择器:':checked' 错误:无效的选择器:*:checked)。] sourceName=[ http://localhost:9001/assets/javascripts/../lib/jquery/jquery.js] line=[1206] lineSource=[null] lineOffset=[0]

这是我的代码

class CheckPage extends PlaySpec with OneServerPerSuite with OneBrowserPerSuite with HtmlUnitFactory {

  implicit override lazy val app: FakeApplication =
    FakeApplication(
      additionalConfiguration = Map("ehcacheplugin" -> "disabled")
    )


  implicit override lazy val port = 9001

  "The OneBrowserPerTest trait" must {
    "provide a web driver" in {
      go to (s"http://localhost:$port/login")
      pageTitle mustBe "Archacrom"
      eventually { pageTitle mustBe "scalatest" }
    }
  }

}

【问题讨论】:

  • 您使用的是哪个版本的 Play?哪个版本的 jquery?
  • 我正在使用 play 2.4.X 和 jquery 2.1.4

标签: scala selenium playframework


【解决方案1】:

使用 Play 2.4.x 和 jQuery 2.1.4 运行 HtmlUnit 测试时出现问题。更具体地说,HtmlUnit 2.18 和 jQuery 2.1.4 或更高版本存在问题。这是在这里报告的:

https://github.com/playframework/playframework/issues/5050

后来,在此处为 Play 2.5.0 修复:

https://github.com/playframework/playframework/pull/5786

这里:

https://github.com/playframework/scalatestplus-play/pull/40

后者在 scalatestplus-play 1.5.0 中可用。最简单的修复方法是手动将 HtmlUnit 版本升级到 2.20:

libraryDependencies += "net.sourceforge.htmlunit" % "htmlunit" % "2.20"

当然,您也可以migrate your application to Play 2.5.0,它已经使用了 HtmlUnit 的更新版本。

【讨论】:

  • 谢谢!我会更新我的框架。这是更好的解决方案。
猜你喜欢
  • 2018-08-10
  • 1970-01-01
  • 2015-11-21
  • 2015-11-28
  • 2012-05-08
  • 2021-09-13
  • 2020-01-27
  • 2012-05-20
  • 1970-01-01
相关资源
最近更新 更多