Selenium java - 不支持jquery

时间:2017-12-15 14:54:30

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

当我点击一个按钮时,它应该执行一个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功能,如果我手动点击按钮,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

请提供更多详情。如果您方可公开,请出示您的代码,以便我们有机会验证/了解您的问题。

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

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

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

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