解决水豚和恶作剧者的表现问题

时间:2014-07-23 17:59:48

标签: ruby-on-rails selenium rspec capybara poltergeist

最初在capybara google小组上发布了此消息,但我认为这是一个更合适的地方,因为它可能更具有恶作剧相关性。

当使用poltergeist / phantomjs进行无头浏览器测试时,我遇到了一些性能问题。下面的规范登录用户并以非常小的负载点击页面,但是非常很长时间跑步。与使用硒或铬作为驱动程序相比,使用poltergeist作为驱动程序可以使运行规范所需的时间增加一倍以上。我希望情况正好相反:使用poltergeist作为驱动程序会减少测试时间,因为浏览器是无头的。

使用:phantomjs 1.9.7,capybara 2.3.0,poltergeist 1.5.1,rspec 2.99,rails 4.1.4

我得到以下结果:

 # ~ 13 seconds
  scenario "with js - poltergeist", :js => true, driver: :poltergeist do
    login_as user
    visit work_on_stories_path

    expect(true).to be_true
  end

# ~ 5 seconds
  scenario "with js 2 - selenium", :js => true, driver: :selenium do
    login_as user
    visit work_on_stories_path

    expect(true).to be_true
  end

# ~ 5 seconds
  scenario "with js 3 - chrome", :js => true, driver: :chrome do
    login_as user
    visit work_on_stories_path

    expect(true).to be_true
  end

# ~ < .5 seconds
  scenario "without js" do
    login_as user
    visit work_on_stories_path

    expect(true).to be_true
  end

这些是正常结果吗?有没有办法改善它们?可能导致这些类型的测试运行时间的常见缺陷是什么?

感谢。

0 个答案:

没有答案