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