最初在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
这些是正常结果吗?有没有办法改善它们?可能导致这些类型的测试运行时间的常见缺陷是什么?
感谢。