当我点击一个按钮它应该执行一个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函数,如果我手动点击按钮,它工作正常。
请提供更多详情。如果您方可公开,请出示您的代码,以便我们有机会验证/了解您的问题。
一般来说:HtmlUnit支持jQuery,整个jQuery测试套件是HtmlUnit测试套件的一部分。
您正在使用旧的selenium / htmlunit版本。请尝试使用最新版本并报告结果。
关于webClient.getOptions()。setThrowExceptionOnScriptError(false);这不是一个肮脏的尝试,将此设置为false是我所知道的每个真实浏览器的工作方式。因为HtmlUnit的主要焦点是支持测试人员,并且最终支持人们构建表现良好的Web应用程序,所以默认情况下这个选项是真的,以便尽早找到错误。
最后。是的,HtmlUnit不支持当今现代浏览器中提供的所有js功能。但我们会尝试在每次发布时改进这一点。如果您有问题请打开机票,我们会尽力提供改进版本。