ruby-on-rails-3 - 让 Selenium 与 Bootstrap 模态褪色一起玩的建议?

标签 ruby-on-rails-3 selenium twitter-bootstrap cucumber

我正在努力以 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"从我的各种模态中。但是,这让我很难过,因为我喜欢淡入淡出效果。

在 Bootstrap 模式中使用带有淡入淡出的 Selenium 是否有其他人遇到过问题?如果是这样,是否有一些巧妙的方法可以让两者很好地协同工作?

顺便说一句(不确定是否重要),我是 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");
        }
    }
);

关于ruby-on-rails-3 - 让 Selenium 与 Bootstrap 模态褪色一起玩的建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11546217/

相关文章:

ruby-on-rails - Rails 3全文搜索选项( gem ,插件等)

python-3.x - 无法加载 Atom '' find_element”

css - Bootstrap 列被推到不同的宽度

javascript - 如何在jquery中循环遍历ID

ruby-on-rails - ffi 上的 bundle 更新失败

ruby-on-rails - thumbs_up gem 的缓存问题

ruby-on-rails - Rails 模型创建和新建在测试环境中返回 nil

python - RaspberryPi3 上的 WebDriverException : Message: invalid argument: can't kill an exited process with GeckoDriver, Selenium 和 Python

testing - 如何在 Selenium Junit 中使用 @Rule 使测试失败

javascript - Bootstrap 轮播文本淡入淡出