私の設定では、JSとnon-JSのすべてのテストでcapybaraドライバとしてpoltergeistを使用しています。PoltergeistとCapybaraのデフォルトドライバを使用するときにJavaScriptを無効にする
# 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を無効にして作業していることを確認するいくつかのテストを持っています。これらのテストでは、私はもちろんjs: false
でjavascriptを無効にします。
describe "accessibility" do
describe "JavaScript disabled", js: false do
before(:each) { visit root_path }
it "user can still log in" do
# ...
end
end
end
しかし、私はまだJavaScriptのを使用これらjs:false
のテストということに気づいています。 JavaScriptのコンソールログにデバッグステートメントを出力することで、これを確認できます。
ポルターガイストを使用しているときにJavaScriptを無効にする方法はありますか?それとも常に有効になっていますか?それは非JSドライバとしてポルターガイストを使用することも有効ですか?
ありがとうございます!
ああ、残念です。他の人にもその問題があることを知ってもらいます。その投稿は2年前からのものなので、いつでもすぐにサポートされるかどうかは不明です。 js以外のテストでは 'capybara-webkit'のようなものを使わなければならないようです。それに対するセレンの勧告はありますか? – user2490003
非JSテストでは特に指定しません。一般的には(私はカピバラウェブキットよりもポルターガイターと運が良かった)(http://stackoverflow.com/questions/23951381/how-do-poltergeist-phantomjs-and-capybara-webkit-differ)異なる経験をしていた。私はセレンの経験が少ないです。 –