【问题标题】:Selenium java - jquery not supportedSelenium java - 不支持 jquery
【发布时间】:2017-12-15 14:54:30
【问题描述】:

当我点击一个按钮时,它应该执行一个 javascript 功能,但是 我得到了这个例外。

net.sourceforge.htmlunit.corejs.javascript.EcmaError: ReferenceError: "$" is not defined.

这是函数:

function selectAll(){
    $(".role option").attr("selected","selected");
}

我正在使用 selenium-java-2.49.1 和 htmlunit 进行测试。

我的问题是如何让 selenium 识别 jquery?

我无法修改 javascript 函数,如果我手动单击按钮,它可以正常工作。

【问题讨论】:

  • 你不需要 jquery,你可以使用 javascript 来达到同样的目的
  • @Edwin 我不允许为此更改功能。
  • 手动点击按钮是否有效?
  • @StriterAlfa 是的。

标签: java unit-testing selenium testing automated-tests


【解决方案1】:

请提供更多详细信息。如果你方是公开的,请出示你的代码,让我们有机会验证/理解你的问题。

一般来说:HtmlUnit 支持 jQuery,整个 jQuery 测试套件是 HtmlUnit 测试套件的一部分。

您使用的是旧的 selenium/htmlunit 版本。请尝试使用最新的并报告您的结果。

关于 webClient.getOptions().setThrowExceptionOnScriptError(false); 这不是一个肮脏的尝试,将其设置为 false 是我所知道的每个真实浏览器的工作方式。因为 HtmlUnit 的主要重点是支持测试人员并最终支持人们构建表现良好的 Web 应用程序,所以默认情况下此选项为 true,以便尽早发现错误。

最后。 是的,HtmlUnit 不支持当今现代浏览器中可用的所有 js 功能。但我们尝试在每个版本中改进这一点。如果您有问题,请开票,我们会尽力提供改进的版本。

【讨论】:

    猜你喜欢
    • 2021-07-21
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多