使用Watij测试jQuery更改事件

时间:2010-03-01 07:01:50

标签: javascript jquery watij

我有一个选择列表,其中使用jQuery将更改事件绑定到元素。像这样:

$("#someId").change(function() {..});

当有人在选择列表中选择新选项时,UI的另一部分将相应更改。现在,当我使用鼠标并单击时,这可以正常工作,但是,当使用Watij编写测试时,我需要触发jQuery更改事件来触发它没有做的事情。

Watij测试将正确选择所需的选项,但实际事件不会被触发。我试过调用fireevent("change");fireevent("onchange");无济于事。我也尝试了ie.sendKeys("{ENTER}");ie.sendKeys("{TAB}");,但似乎也没有做到这一点。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

到目前为止,我发现的唯一解决方案是回滚使用中的jQuery版本。我目前正在使用版本1.4.1(关于选择框上更改事件的可测试性的违规版本),并且在回到版本1.2.6后,问题就消失了。

答案 1 :(得分:1)

使用$('#someId').trigger('change');手动触发事件。

请参阅trigger()的文档。

答案 2 :(得分:0)

当使用脚本更改组合/列表值时,不应触发onchange。我不知道Watij是怎么做的,但这是一个例子。

第二件事是Watij正在使用IE(只要维基百科是正确的)并且IE正在使用系统控制代替您的列表或组合,它可能会破坏某些东西。尝试升级到IE8,它可以更好地实现表单组件(例如,10年后选择最终支持选项中的“禁用”属性)

您可能还对正常的应用程序GUI测试应用感兴趣,并在带有webapp的浏览器上使用它们。录制宏并检查屏幕截图。