2013-02-28 89 views
1

我正试图与一些项目进行交互时,出现以下错误:硒:: webdriver的::错误:: MoveTargetOutOfBoundsError

Element cannot be scrolled into view:javascript:void(0); (Selenium::WebDriver::Error::MoveTargetOutOfBoundsError

采用模态(引导交互时,这都)刚过一个AJAX调用即使元素在浏览器中并且可见。

我发现的一个解决方法是我只是再次手动去了页面(这并没有搞乱测试场景)。

这样的错误有没有更好的方法?

回答

2

测试AJAX是棘手的。这是因为它是异步的;)
所以你必须等待页面上出现某些对象。
然后根据你的框架完成一些转换或动画,你也必须等待它们。

究竟你必须等待什么,取决于你的应用程序和你正在使用的JS框架。 它可能是一个CSS类的ID或别的东西。
例如,如果使用jQuery手机,您必须等待删除css类ui-mobile-viewport-transitioning,那么您的转换完成,您可以继续测试。

这里是等待Java代码示例:

webdriverWaiter.waitUntil(ExpectedConditions.invisibilityOfElementLocated(By.cssClass("ui-mobile-viewport-transitioning"))); 

希望帮助

+0

感谢。我实际上已经实施了一个有助于的等待步骤。 – 2013-03-06 09:17:15