【发布时间】:2013-06-03 23:34:57
【问题描述】:
我才刚刚开始使用 Selenium,所以我还在纠结所有移动部件。我已经启动并运行了我的第一个测试套件,但我一生都无法在 IE 中触发 jQuery 事件侦听器。
这在动态 AJAX 下拉列表中尤其成问题,例如 $('#country').live('change',showStates)
select -> id=country | label=United States
selenium 驱动程序触发事件以响应所有其他浏览器的测试脚本,但我没有尝试过导致或强制触发 change 事件。我已经尝试使用在 SO 上可以找到的所有方法,包括:
- 根据How to fire JS event in selenium? 维护窗口焦点
- 尝试不同的方法来调用触发器:
runScript -> "$('#country').change()每Selenium IE change event not fired runScript -> "$('#country').trigger('change')-
fireEvent -> id=country | change每onchange event does not get fired on selenium type command
这些命令都不会在 IE9、8(模拟)或 7(模拟)中触发事件。 FWIW 目前尚不清楚这些是否真的导致事件在其他浏览器中触发,因为其他浏览器无需额外调用即可触发 change 事件。我在 Windows 7 上运行独立的 selenium jar 2.33。
如何使用 selenium 在 IE 中触发更改事件?
【问题讨论】:
-
还根据stackoverflow.com/questions/11157902/…更改了受保护的设置
标签: selenium-webdriver internet-explorer jquery-events