2009-09-04 7 views
12

Używam Cucumber i Webrat przez chwilę. Muszę teraz zacząć pisać zachowania, które dotyczą interakcji AJAX, więc pomyślałem o użyciu adaptera Selenium dla Webrat. Czy każdy może wskazać prosty i zaktualizowany przewodnik krok po kroku dotyczący instalacji i konfiguracji selenu + webrat + ogórek? Chciałbym móc mieszać scenariusz javascript ze scenariuszami innymi niż javascript.Ogórek + Webrat + przewodnik Selenium

Odpowiedz

8

Używam Selenium z rspec na moim projekcie i generuję kod z niestandardowego formatyzatora dla Selenium IDE.

Istnieje wiele selenów dla szyn, ale ja z powodzeniem używam Selenium-RC http://seleniumhq.org/download/, więc pobierz na swój komputer.

Oto moje kroki:

  1. Rozpakuj i uruchom> java -jar selen-server.jar
  2. Otwarte selen-client-rubinowy, należy przeczytać dokument, należy go dostaniesz sukces!
  3. gem install rspec, rspec barierki wersja 1.2.6 (nie trzeba komentować wersja ograniczyć kodu źródłowego selen-klient)
  4. gem install selen-client
  5. Otwarte Selen-IDE (oczywiście Firefox), Otwarte Opcje -> Opcje -> Formaty
  6. kliknij przycisk Dodaj i wklej ten kod w http://www.techdarkside.com/rspec_export.txt

teraz tylko Spec eksport do folderu spec mnie, używam Spec/funkcje/xxxx_spec.rb zobacz kod poniżej.

Bardzo podobne podejście można znaleźć w here

Dla webrat + ogórek, najnowsza Rspec book da wszystko, czego potrzebujemy. (Nie mają selen + ogórek rozdział wykończenie jeszcze)

przykład

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