2013-08-05 11 views
8

Ich schreibe eine Spezifikation mit Capybara, um die Funktionalität einer Suchleiste auf meiner Website zu testen. Nachdem Sie die Anweisungen auf dieser page, wie die in Rspec/Capybara Enter-Taste simulieren drücken, bekomme ich folgende Fehlermeldung, wenn ich meine Tests ausführen:Capybara: NotSupportedByDriverError beim Versuch zu simulieren drücken <ENTER>

Failure/Error: page.driver.execute_script(keypress) 
Capybara::NotSupportedByDriverError: 
    Capybara::Driver::Base#execute_script 

Bin ich etwas falsch? Hier sind die Inhalte meiner Spezifikationsdatei:

require 'spec_helper' 

describe 'Search' do 
    it 'displays no results when non-existent things are looked up' do 

    visit root_path 

    page.first(".search-icon-small").click 

    fill_in "search", with: "NonExistent" 

    #simulate pressing Enter 
    keypress ="var e = $.Event('keydown', { keyCode: 13 }); $('body').trigger(e);" 
    page.driver.execute_script(keypress) 

    page.should have_content('No Results') 
    end 

    it 'displays content that exists' do 
    #Clients 
    client = Client.new 
    client.name = 'Gerard Leskovar' 
    client.save! 

    visit root_path 


    page.first(".search-icon-small").click 

    fill_in "search", with: "Leskovar" 

    keypress ="var e = $.Event('keydown', { keyCode: 13 }); $('body').trigger(e);" 
    page.driver.execute_script(keypress) 

    page.should have_content('Gerard Leskovar') 

    end 
end 

Ich schätze Ihre Hilfe!

+0

Ich hatte das Capybara-Webkit-Juwel nicht installiert! – Thalatta

+4

Wenn jemand eine Antwort dafür hat, wenn er Poltergeis als Capybara-Treiber benutzt, werde ich es schätzen :) –

+1

Ich habe das Juwel in meinem gemfile und ich habe 'bundle' aber es funktioniert auch nicht – Charlon

Antwort

7

Okay, also ich hatte nicht die capybara-webkit installiert und daher habe ich den Fehler, dass ich habe. Vielen Dank!

Verwandte Themen