Tag: 水豚

如何以较低的速度运行Selenium(通过Capybara使用)?

默认情况下,Selenium在我使用Cucumber定义的场景中尽可能快地运行。 我想将它设置为以较低的速度运行,因此我能够捕获该过程的video。 我发现Selenium::Client::Driver一个实例有一个set_speed方法。 这与Java API相对应。 如何获取Selenium::Client::Driver类的实例? 我可以得到page.driver ,但它返回一个page.driver Capybara::Driver::Selenium的实例。

Capybara与has_no_css同步?

自升级到Capybara 2.4以来,我一直在遇到这个问题。 以前,这个块运行良好: page.document.synchronize do page.should have_no_css(‘#ajax_indicator’, :visible => true) end 这意味着在继续下一步之前强制等待ajax指示消失。 由于上面的内容返回了RSpec::Expectations::ExpectationNotMetError ,因此同步不会重新运行该块,而只是抛出错误。 不知道为什么这个在我之前使用的版本中工作(我相信2.1)。 synchronize块仅重新运行返回以下内容的块: Capybara::ElementNotFound Capybara::ExpectationNotMet 无论某个驱动程序添加到该列表中。 有关更全面的解释和不使用synchronize示例,请参阅Justin的回复,或查看我对直接解决方案的回复。

如何强迫黄瓜方案失败?

有没有办法迫使黄瓜情景失败? 我需要在每次测试结束时检查一些失败的情况。 所以我认为我可以检查“错误”对话框,然后如果它发生则测试失败。 这可以通过下面的代码实现,但是存在问题。 一旦我在失败中提出exception! 函数,然后黄瓜停止运行After钩子的其余部分,因此注销函数不会被调用。 是: After() do |scenario| #Checking for Error popups if page.has_selector?(:dialog_message, 1, :text => ‘Error’) fail!(raise(ArgumentError.new(‘Unexpected Error dialog!’))) end logout end 现在: After() do |scenario| #Checking for Error popups if page.has_selector?(:dialog_message, 1, :text => ‘Error’) scenario.fail!(logout) end end 是否有更好的方法可以在不引发exception的情况下通过黄瓜测试失败?

处理与水豚ruby的iframe

下面是html代码.. 在上面的场景中,我想切换到IFRAME(iframe id =“I0_1366100881331”)以对该IFRAME中存在的SPAN执行某些操作。 我已经尝试了大多数情况但没有结果:( ……任何人请帮助。 我想要仅使用水豚ruby的黄瓜解决方案.. 注意:我尝试使用以下代码,但没有结果。 page.driver.browser.switch_to.frame“I0_1366100881331”

如何在rspec / capybara中测试div是否具有某种css样式?

如何测试div标签是否具有某种css样式? 我正试图测试它是否有display:none; 或display:block 。 我试过以下但它给了我一个错误: it {should have_selector(‘signup_server_generic_errors’, /display:\s*none/)}