2009-09-04 84 views
12

我一直在使用Cucumber和Webrat一段時間。我現在需要開始編寫涉及AJAX交互的行爲,所以我正在考慮爲Webrat使用Selenium適配器。 任何人都可以指出一個簡單和更新的安裝和配置selenium + webrat +黃瓜一步一步的指導? 我想能夠將javascript場景與非JavaScript場景混合使用。黃瓜+ Webrat + Selenium指南

回答

8

我在我的項目中使用帶rspec的Selenium,並從Selenium IDE的自定義格式化程序中生成代碼。

有許多硒的軌道,但我成功使用硒-RC http://seleniumhq.org/download/,所以下載到您的電腦。

這裏是我的步驟:

  1. 解壓並運行> Java的罐子硒的server.jar
  2. 開放硒的客戶紅寶石,閱讀文檔,遵循它,你將獲得成功!
  3. 寶石安裝rspec的,RSpec的護欄1.2.6版本(如果不是,你需要註釋的版本限制的硒客戶端源代碼)
  4. 創業板安裝硒的客戶
  5. 開放硒-IDE(當然火狐),打開選項 - >選項 - >格式
  6. 單擊添加,粘貼在http://www.techdarkside.com/rspec_export.txt

此代碼現在,你只出口到規範你對我的天賦文件夾,我使用規格/功能/ xxxx_spec.rb看下面的代碼。

非常類似的方法可以找到here

對於webrat +黃瓜,最新Rspec book會給你所需要的。 (他們沒有硒+黃瓜章尚未完成)

例如

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