2016-04-22 11 views
1

私の設定では、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ドライバとしてポルターガイストを使用することも有効ですか?

ありがとうございます!

答えて

1

いいえ、ポルターガイストをJavascriptなしで使用する方法はありません(自分でポルターガイストを変更しない限り)。 this Github issueによると、ファントムジでのサポートが必要になります。これは、a patchで利用できますが、マスターでは利用できません。

+0

ああ、残念です。他の人にもその問題があることを知ってもらいます。その投稿は2年前からのものなので、いつでもすぐにサポートされるかどうかは不明です。 js以外のテストでは 'capybara-webkit'のようなものを使わなければならないようです。それに対するセレンの勧告はありますか? – user2490003

+0

非JSテストでは特に指定しません。一般的には(私はカピバラウェブキットよりもポルターガイターと運が良かった)(http://stackoverflow.com/questions/23951381/how-do-poltergeist-phantomjs-and-capybara-webkit-differ)異なる経験をしていた。私はセレンの経験が少ないです。 –

関連する問題