Polecane capybara drivers

Witam, jakie polecacie oprócz poltergeist ? Ten wspomniany jest koszmarnie wolny i przy wiekszym zestwie testów lubi się wywalić losowo przy czym ten sam test uruchamiany osobno przechodzi.

Polecam capybara - webkit od thoughtbot. Stabilniejszy, ale czy będzie dużo szybszy, to nie wiem, bo to jednak testy z JS.

w moim wypadku poltergergeist był szybszy od webkita

fakt losowości w przechodzeniu testów, wynika z tego, że używasz renderowania strony za pomocą js i w nieodpowiedni sposób oczekujesz na pojawienie się nowej zawartości

Update phantomjs do wersji 2.0 dał solidnego kopa. Testy z kilkunastu minut zeszły do 4min! Jest też dużo mniej błędów wsród tych losowych.

mała poprawka, 1/3 zaoszczędonego czasu to ten hack w spec/support

module Paperclip
  def self.run cmd, arguments = "", interpolation_values = {}, local_options = {}
    cmd == 'convert' ? nil : super
  end
end

class Paperclip::Attachment
  def post_process
  end
end

Jeszcze tylko ten helper czasem losowo wywala test, jakieś pomysły żeby to zoptymalizować ?
Jest to spec helper do pickadate.js który wybiera dzień i czasem (bardzo rzadko) wywal się na ostatniej linii, trafia widać na moment gdy jeszcze się modal nie “schował”

def pickadate(input, date)
    find(input).click

    within 'div.picker--opened' do
      if select_year = find('select.picker__select--year')
        select_year.select(date.year)
      end

      if select_month = find('select.picker__select--month')
        select_month.select(date.strftime("%B"))
      end

      timestamp = date.to_time.to_i * 1000

      find("div[data-pick = '#{timestamp}']").click
    end
    expect(page).to have_xpath "//div[@class = 'picker' and @aria-hidden = 'true']"
  end