ruby-on-rails-3 – 使用Bootstrap模式淡入淡出Selenium玩的建议?

我正在努力生活BDD的方式.我正在使用黄瓜(含硒),恰巧在我的应用程序中使用Twitter Bootstrap模式.

在运行Cucumber测试时,我得到了一个“Selenium :: WebDriver :: Error :: MoveTargetOutOfBoundsError”错误.经过多次搜索,调试和一般绝望之后,我得出结论,它与在Bootstrap模式中使用“fade”参数有关.如果我使用“fade”,会抛出错误

<div class="modal hide fade" id="info-share-edit-modal" style="display: none;">
  .
  .
  .
</div>

如果我删除“褪色”,那么硒是充满幸福,我的测试清楚:

<div class="modal hide" id="info-share-edit-modal" style="display: none;">
  .
  .
  .
</div>

所以,我现在正在从我的各种模式中消除“褪色”.但是,这让我很伤心,因为我喜欢褪色效果.

有没有人遇到使用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");
        }
    }
);

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...