如何在ruby上减慢浏览器测试黄瓜的速度

时间:2014-08-06 21:02:43

标签: ruby-on-rails ruby selenium cucumber

我试图找到一种在黄瓜中运行浏览器测试时可以减慢测试速度的方法。

我在黄瓜 - 红宝石栏杆中使用硒。

当我进行测试时,步骤发生得如此之快,以至于您无法了解正在进行的测试。

没有添加一行"睡眠2"在每个步骤的代码中。即:

When /^I fill in my name$/ do |name|
  sleep 2
   fill_in('name', :with => name)
end

我正在寻找具有相同效果的一行代码。

此行存在于我的env.rb文件中,但没有做任何事情:

Capybara.default_driver = :selenium
  AfterStep do
    sleep (ENV['PAUSE'] || 0).to_i
  end

我尝试将0更改为更高的值,但仍然没有。

我对此很陌生,任何帮助都会很棒。

谢谢

3 个答案:

答案 0 :(得分:1)

我在features / support中有一个hooks.rb文件。我想这是标准的。我投入了

AfterStep do
  sleep 2
end

它有点奏效。但是,它不会在执行大量任务的步骤中暂停。

答案 1 :(得分:0)

试试这个:

After do
  sleep 2
end

答案 2 :(得分:0)

我建议你设置capybara渲染页面的默认等待时间:

Capybara.default_wait_time = 5

现在每当你使用(find)或其他等待默认等待时间的方法时,如果元素没有渲染,它将等待5秒,如果元素在此之前呈现,它将继续而不等待5秒,所以在你的fill_in代码之前使用类似的东西:

   page.should have_selector('your drowndown id or locator')
   or
   find('your drowndown id or locator')
   fill_in('name', :with => name)

所以现在它不会进入fill_in步骤,直到下拉呈现其他方面它会等待 5秒,你可以增加那个时间。