pat*_*vey 5 javascript jquery selenium
我正在尝试使用FF Selenium IDE插件测试页面.
有如下菜单结构..
<ul class="parent">
<li class="child"><span><a href="something.html">link text</a></span></li>
<li class="child"><span><a href="somethingelse.html">other text</a></span></li>
<ul>
Run Code Online (Sandbox Code Playgroud)
li元素具有绑定到它们的悬停事件.这些悬停事件在实际链接标记上注册了一个click事件.(我已经删除了一些JavaScript以简化)
var menu = $('ul.parent');
$("> li.child", menu).hover(function () {
$(this).find('> a').click(function () {
$(this).parent().addClass('active-trail');
return false;
});
}, function() {});
Run Code Online (Sandbox Code Playgroud)
如果使用Selenium我单击其中一个链接然后我希望调用该处理程序.它不是,只是简单地执行了点击(然后是链接,而不是返回false).
我尝试过(在阅读其他答案之后)mouseUp和mouseDown.我还尝试使用fireEvent首先将鼠标悬停在li上(以激活悬停事件),然后使用另一个fireEvent来单击锚点..但这也无效.
所以任何帮助都将是最受欢迎的.只是使用Selenium触发jquery提供的点击处理程序的基本演示可能足以让我看到正确的!
谢谢,帕特里克.
你说得对fireEvent(),你确定你用对了吗?
如果您想解雇处理程序,您就不onClick会这样做。fireEvent(locator, "click")fireEvent(locator, "onClick")
如果您使用 selenium IDE 生成脚本,那么您的做法可能是正确的。
Selenium 在这方面有点棘手,我遇到过很多类似的问题。