GWT Selenium测试有时会失败

时间:2013-10-16 18:16:10

标签: dom gwt selenium selenium-webdriver

我们目前在gwt动力gui中的硒测试中存在一个很好的问题。

该应用程序包含两个部分(过滤器和网格)。我们的测试有时会因NoSuchElementException而失败。

Crazy如下:我使用断点在eclipse中停止测试,并使用firefox firebug或任何其他插件检查页面。好吧 - 我找不到想要的元素。但是(没有重新启动应用程序或eclipse中的任何其他更改),如果我再次尝试并搜索元素它在那里和eclipse中的简历,测试变为绿色。对我来说,这似乎是firefox中的同步问题。

明确等待命令

new WebDriverWait(getDriver(), 10).until(condition);

唯一的影响是超时(10秒)发生。

正如我所说 - 有时测试是绿色的,有时会失败。

有人有想法吗?

2 个答案:

答案 0 :(得分:0)

听起来像从服务器加载一些异步数据(RPC)?当Selenium正在寻找时,数据以及因此在UI中呈现数据的元素还没有出现。根据查询对数据库的占用时间或网络上的延迟,等待时间可能因测试运行而异。

答案 1 :(得分:0)

我有解决此问题的方法,并会分享这个。 在显式wait命令运行之前执行以下代码。

Window window = getDriver().manage().window();
Dimension dimension = window.getSize();
Dimension tmp = new Dimension(dimension.getWidth() - 1, dimension.getHeight());
window.setSize(tmp);
window.setSize(dimension);

我发现,在调整浏览器窗口大小后,DOM处于“同步”状态。所以我递减宽度,然后将其设置回旧值。

如果有人有更好的建议 - 请告诉我们; - )