在 watir-webdriver 中跨浏览器单击



我正在使用Watir-Webdriver进行自动化测试。但是对于跨浏览器来说似乎不稳定。例如,它通常在Firefox和Chrome中工作正常,但在IE中不稳定。当我得到一个元素并点击时,在 ie7,8,9 中它以不同的方式响应。可以单击该按钮,但没有任何反应。我已经尝试了很多方法,例如:click,click(),send_key,fire_event但我仍然没有得到跨浏览器点击的最终解决方案。例如,在ie9中,使用click时,有时效果很好,有时效果不佳,我不知道原因。

我们是否有解决方案,例如允许我们在多个浏览器中(尤其是在IE7,8,9中)中成功单击元素的功能?

我认为IE使用与其他浏览器不同的"点击"方法。因此,除非它有不间断的焦点,否则它是不可预测的。另一种选择可能是专门为IE使用Watir Classic,因为它使用COM对象而不是Javascript。

尝试使用 .when_present 装饰器,以确保您不会尝试单击未处于准备单击状态的内容。 有时对于较慢的浏览器(如较旧的 IE 版本)很有用。

browser.link(:id => "foo").when_present.click

您可能还遇到了我不久前发布的此问题: IE8中的Watir Webdriver,单击链接,事件似乎永远触发

第一次在新会话中使用它时,IE 中的单击是否有效,然后在该会话中再也不会工作? 这对我来说是同一个问题。

最新更新