2011-04-04 61 views
2

有沒有人成功地建立了一個獨立的環境使用紅寶石1.9.2,硒客戶端和rspec測試非網站。獨立測試使用紅寶石1.9.2,硒客戶端和rspec(無導軌)

我已經在網上搜尋,但我似乎無法得到神奇的公式。有寶石版本衝突,缺少圖書館等。在這一點上,我完全困惑。

基本問題:我有很多測試套件和測試,使用SeleniumIDE 1.0.10進行非軌道應用程序(IIS/ASP)。我簡單地想要使用SeleniumIDE可以提供的轉換後的測試,並使用ruby或更好的耙子運行它們。 (請注意,SeleniumIDE可以創建RSpec或測試/單元測試,我很樂意得到任何工作)。

據我所知,selenium客戶端有rake任務來啓動/停止SeleniumRC服務器並運行測試。但對於我的生活,我無法得到任何這一切。

如果需要,我可以提供更多信息。但是,在這一點上,我很樂意知道任何人也在走這條路。

- 謝謝!

P.S.我這樣做是爲了將IIS/ASP應用程序與Rails進行混合並迭代地完成轉換。如果我不能得到這第一步,我的老闆們會去nix的想法,所以請幫助;-)

回答

2

你需要gem install'rspec'和'selenium-client'。我有紅寶石1.9.2安裝,是的,我用rvm。我爲firefox_version無稽之談道歉。我的Macbook上安裝了多個Firefox版本。如果您安裝了單個Firefox,則只需指定:browser =>「* firefox」

您將需要打開兩個終端窗口。首先,啓動selenium-server.jar。

在第二個窗口,cd到目錄含有rspec_hello.rb並輸入 紅寶石./rspec_hello.rb

這裏是rspec_hello。rb

require "rubygems"   # >= 1.8.12 
    require 'rspec'   # >= 2.1.0 
    require "selenium/client" # >= 1.2.18 

    describe "google" do 
     # attr_reader :selenium_driver 
     @selenium_driver = nil 

     before(:each) do 
     firefox_version = 3 
     firefox_path = "/Applications/Firefox" + firefox_version.to_s + ".app/Contents/MacOS/firefox-bin" 
     @selenium_driver = Selenium::Client::Driver.new \ 
      :host => "localhost", 
      :port => 4444, 
      :browser => "*firefox #{firefox_path}", 
      :url => "http://www.google.com/", 
      :timeout_in_second => 60 
      @selenium_driver.start 
     end 

     after(:each) do 
     puts " " 
     puts "goodbye world" 
     @selenium_driver.close_current_browser_session 
     end 

     it "test google" do 
     puts "hello world" 
     @selenium_driver.open "/" 
     @selenium_driver.type "q", "selenium wiki" 
     @selenium_driver.click "btnG" 
     @selenium_driver.wait_for_text("Selenium Wiki") 
    @selenium_driver.text?("Selenium Wiki").should be_true 
    end 
end 
1

你有沒有考慮使用rvm創建一個沙盒環境和bundler來管理你的依賴關係?

+0

查看我的回答... – danv 2011-06-10 05:38:40

0

我在使用rails時使用rvm和bundler。對於我在這個問題中擔心的項目,我不想爲獨立測試老東西(IIS/ASP)建立單獨的環境。因此,我決定使用Test:Unit Selenium轉換代替RSpec,以及一些rake任務,以便在與混合項目相同的環境中獨立進行測試。

這是有道理的,因爲幾乎所有這些硒測試都在測試舊混合動力系統的一半,並且將被整合到新軌道代碼中的rspec/cucumber/capybara測試取代,直到舊的一半(沿與獨立測試)沒有更多。

在新的集成rails唯一項目中仍然有硒的用途,尤其是對於AJAX測試。

查看此例railscast