Отключение JavaScript при использовании драйвера Poltergeist и Capybara по умолчанию

Моя установка использует полтергейст в качестве драйвера Capybara для всех моих тестов, как JS, так и не-JS.

# spec/rails_helper.rb
require "capybara/poltergeist"

# ...
# ...

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, js_errors: true)
end

Capybara.configure do |config|
  config.ignore_hidden_elements = true
  Capybara.default_driver = :poltergeist
  Capybara.javascript_driver = :poltergeist
end

У меня есть несколько тестов, в которых я подтверждаю, что некоторые функции моего приложения все еще работают даже с отключенным javascript. Для этих тестов я, конечно же, отключил javascript с помощью js: false.

describe "accessibility" do
  describe "JavaScript disabled", js: false do
    before(:each) { visit root_path }

    it "user can still log in" do
      # ...
    end
  end
end

Однако я заметил, что эти js:false тесты по-прежнему используют JavaScript. Я могу подтвердить это, распечатав операторы отладки в журнале консоли в JavaScript.

Есть ли способ отключить JavaScript при использовании полтергейста? Или он всегда включен? Можно ли вообще использовать полтергейст в качестве драйвера, отличного от JS?

Спасибо!


person user2490003    schedule 22.04.2016    source источник


Ответы (1)


Нет, кажется, нет способа использовать полтергейст без Javascript (если только вы не модифицируете полтергейст самостоятельно). Согласно этой проблеме Github, потребуется поддержка в phantomjs, которая доступна в патч, но не в мастере.

person Dave Schweisguth    schedule 22.04.2016
comment
ааа, жаль. Приятно знать, что у других тоже есть такая проблема. Этот пост двухлетней давности, поэтому не уверен, что он когда-либо будет поддерживаться в ближайшее время. Похоже, мне просто нужно использовать что-то вроде capybara-webkit для тестов, отличных от js. Любые рекомендации по сравнению с selenium ? - person user2490003; 22.04.2016
comment
Не специально для тестирования не-JS. В общем, мне больше повезло с полтергейстом, чем с капибарой-webkit, но у других был другой опыт. У меня меньше опыта работы с Selenium. - person Dave Schweisguth; 22.04.2016