Nos permite ejecutar pruebas Capybara con un navegador WebKit 18.1headless, basado en PhantomJS.
Es posible ejectuar las pruebas del ejemplo anterior usando PhantomJS
via Poltergeist cambiando el fichero
features/support/env.rb:
[~/sinatra/sinatra-capybara/youtube(poltergeist)]$ cat features/support/env.rb require 'capybara/cucumber' require 'capybara/poltergeist' #Capybara.default_driver = :selenium Capybara.register_driver :poltergeist do |app| Capybara::Poltergeist::Driver.new(app, :js_errors => false) end Capybara.default_driver = :poltergeist #Capybara.javascript_driver = :webkit
Es necesario poner el atributo :js_errors => false para evitar
que los errores que se producen en JavaScript se propagen al código Ruby
y causen que las pruebas se detengan.
Sigue una ejecución:
[~/sinatra/sinatra-capybara/youtube(poltergeist)]$ rake
cucumber
Feature: Search for Videos on YouTube
Scenario: Search for Videos of Large Rodents # features/youtube_search.feature:3
Refused to display document because display forbidden by X-Frame-Options.
Given I am on the YouTube home page # features/step_defs/steps.rb:1
Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL file:///Users/casiano/.rvm/gems/ruby-2.1.2/gems/poltergeist-1.5.1/lib/capybara/poltergeist/client/compiled/main.js. Domains, protocols and ports must match.
When I search for "capybara" # features/step_defs/steps.rb:5
Then videos of large rodents are returned # features/step_defs/steps.rb:10
#<Capybara::Session>
1 scenario (1 passed)
3 steps (3 passed)
0m6.230s
Casiano Rodriguez León 2015-01-07