Как заставить JS кликать с помощью веб-драйвера poltergeist?
Когда я запускаю тест с драйвером chrome - он проходит.
Когда я запускаю его с помощью poltergeist - он пытается щелкнуть мышью в формате HTML, и у меня появляется ошибка:
ActionController::UnknownFormat:
ActionController::UnknownFormat
controller.rb
def features
newspaper = Newspaper.find(params[:id])
respond_to do |format|
format.js { render locals: { newspaper: newspaper } }
end
end
view.html.haml
= link_to features_newspaper_path(newspaper), class: %w(qa-edit-features), format: 'js', remote: true
feature_spec.rb
it 'enable newspaper hilsninger features', js: true do
find('.qa-edit-features').click
end
spec_helper.rb
require 'capybara/rspec'
require 'capybara/poltergeist'
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, browser: :chrome)
end
if ENV['BROWSER'] == 'google-chrome'
Capybara.javascript_driver = :chrome
else
Capybara.javascript_driver = :poltergeist
end
1 ответ
Скорее всего, это вызвано ошибкой JS на вашей странице (или использованием методов ES2015+, не поддерживаемых Poltergeist), приводящей к сбою анализа JS и невозможности установки UJS-обработчиков rails. Убедитесь, что ваш конфигурационный файл регистрации драйвера Poltergeist ( https://github.com/teampoltergeist/poltergeist) имеет js_errors: true
в этом и он должен показать вам ошибку JS.