Para probar Capybara con ficheros HTML locales standalone usaremos el siguiente programa:
[~/sinatra/sinatra-selenium/intro(gh-pages)]$ cat testinglocalhtml.rb #!/usr/bin/env ruby # This program evaluates a Capybara script against # a local HTML page # Usage: # testinglocalhtml index.html capybara_script.rb [poltergeist] require "capybara" require 'capybara/poltergeist' require 'rspec/expectations' exit(1) if ARGV.length < 2 html, capybara = ARGV[0,2] driver = (ARGV[2] || :selenium).to_sym File.open(html) do |h| html = h.read File.open(capybara) do |c| capybara = c.read app = proc { |env| [200, { "Content-Type" => "text/html" }, [html] ] } session = Capybara::Session.new(driver, app) session.instance_eval capybara end end
Esta es la forma en la que se ejecuta. El primer argumento es la página y el segundo el script capybara en el que se indica que pruebas se van a hacer:
$ ./testinglocalhtml.rb click.html find_and_click.rb
Ejemplo del script Capybara que se usa como segundo argumento:
[~/sinatra/sinatra-selenium/intro(gh-pages)]$ cat find_and_click.rb visit '/' sleep 2 find('#mydiv').click sleep 2 accept_alert sleep 2
Tambien puede llamarse así:
$ ./testinglocalhtml.rb index.html script.rb poltergeistCasiano Rodriguez León 2015-01-07