我正在努力以 BDD 的方式生活。我正在使用 Cucumber(带有 Selenium),并且碰巧在我的应用程序中使用 Twitter Bootstrap 模式。
在运行 Cucumber 测试时,我得到了"Selenium::WebDriver::Error::MoveTargetOutOfBoundsError"
错误。经过大量搜索、调试和普遍绝望后,我得出的结论是,这与使用"fade"
我的 Bootstrap 模态中的参数。如果我使用"fade"
,抛出错误:
<div class="modal hide fade" id="info-share-edit-modal" style="display: none;">
.
.
.
</div>
如果我删除"fade"
,那么 Selenium 就充满了幸福感,我的测试也清晰了:
<div class="modal hide" id="info-share-edit-modal" style="display: none;">
.
.
.
</div>
所以,我现在要删除"fade"
来自我的各种模式。但是,这让我很难过,因为我喜欢淡入淡出效果。
还有其他人在使用 Selenium 和 Bootstrap 模式中的淡入淡出时遇到过问题吗?如果是这样,是否有一些聪明的方法可以让两者很好地合作?
顺便说一句(不确定这是否重要),我是 Rails 3.2.3、Firefox 13.0.1 和 Ubuntu 12.04LTS。
我做了一个快速测试,插入了一个 WebDriverWait 来查看模式的不透明度。它似乎有效,但时间会证明一切,因为(至少对我来说)这是一个间歇性的问题。这是我在 Java 中的实现。
//Ensure the modal is done animating
new WebDriverWait(driver, 5).until(
new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver webDriver) {
return webDriver.findElement(By.id("videoModal")).getCssValue("opacity").equals("1");
}
}
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)