2009-09-04 12 views
12

He estado usando Cucumber and Webrat por un tiempo. Ahora necesito comenzar a escribir comportamientos que involucren interacciones AJAX, así que estaba pensando en usar el adaptador de Selenium para Webrat. ¿Alguien puede señalar una guía paso a paso fácil y actualizada para instalar y configurar selenio + webrat + pepino? Me gustaría poder mezclar escenarios de JavaScript con escenarios que no sean de JavaScript.Cucumber + Webrat + Selenium guide

Respuesta

8

Estoy usando Selenium con rspec en mi proyecto y genero código a partir de un formateador personalizado para Selenium IDE.

Hay mucho selenio para los rieles, pero tengo éxito con Selenium-RC http://seleniumhq.org/download/, así que descárgalo en tu pc.

Éstos son mis pasos:

  1. Descomprimir y ejecutar> java-jar selenio server.jar
  2. abierto selenio-cliente-rubí, leer el documento, siga que obtendrá el éxito!
  3. joya instalar rspec, rspec-carriles versión 1.2.6 (no, tiene que comentar la versión de restringir el código fuente de selenio-cliente)
  4. joya instalar el selenio-cliente
  5. abierto Selenio-IDE (Firefox, por supuesto,), Abrir Opciones -> Opciones -> formatos
  6. Haga clic en Agregar y pega este código en http://www.techdarkside.com/rspec_export.txt

Ahora, sólo especificación de exportación a la carpeta de especificaciones para mí, yo uso de especificaciones/características/xxxx_spec.rb ver el código a continuación.

enfoque muy similar se puede encontrar en here

Para webrat + pepino, la última Rspec book dará todo lo que necesita. (No tienen selenio + acabado capítulo pepino aún)

ejemplo

require 'rubygems' 
gem "rspec", "=1.2.6" 
gem "selenium-client", ">=1.2.15" 
require "selenium/client" 
require "selenium/rspec/spec_helper" 

describe "Google Search" do 
    attr_reader :selenium_driver 
    alias :page :selenium_driver 

    before(:all) do 
     @selenium_driver = Selenium::Client::Driver.new \ 
      :host => "localhost", 
      :port => 4444, 
      :browser => "*firefox", 
      :url => "http://www.google.com", 
      :timeout_in_second => 60 
    end 

    before(:each) do 
    selenium_driver.start_new_browser_session 
    end 

    # The system capture need to happen BEFORE closing the Selenium session 
    append_after(:each) do 
    @selenium_driver.close_current_browser_session 
    end 

    it "can find Selenium" do 
    page.open "/" 
    page.title.should eql("Google") 
    page.type "q", "Selenium seleniumhq" 
    page.click "btnG", :wait_for => :page 
    page.value("q").should eql("Selenium seleniumhq") 
    page.text?("seleniumhq.org").should be_true 
    page.title.should eql("Selenium seleniumhq - Google Search") 
    page.text?("seleniumhq.org").should be_true 
      page.element?("link=Cached").should be_true 
    end 

end 
Cuestiones relacionadas