Моя установка использует полтергейст в качестве драйвера 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?
Спасибо!