2009-07-06 69 views
1

我想設置使用硒和硒客戶端寶石測試的環境。 我更喜歡單元測試風格超過RSpec風格的測試。硒紅寶石報告

我必須建立自己的報告系統嗎?

如何在每次測試中添加異常處理而不必開始救援結束?有沒有辦法使用mixins來做到這一點?

回答

0

我不確定我是否理解您的問題在報告方面意味着什麼,但硒客戶端寶石處理BDD和UnitTesting。

下面是代碼從RubyForge的頁面複製:

require "test/unit" 
require "rubygems" 
gem "selenium-client", ">=1.2.16" 
require "selenium/client" 

class ExampleTest < Test::Unit::TestCase 
    attr_reader :browser 

    def setup 
    @browser = Selenium::Client::Driver.new \ 
     :host => "localhost", 
     :port => 4444, 
     :browser => "*firefox", 
     :url => "http://www.google.com", 
     :timeout_in_second => 60 

    browser.start_new_browser_session 
    end 

    def teardown 
    browser.close_current_browser_session 
    end 

    def test_page_search 
      browser.open "/" 
      assert_equal "Google", browser.title 
      browser.type "q", "Selenium seleniumhq" 
      browser.click "btnG", :wait_for => :page 
      assert_equal "Selenium seleniumhq - Google Search", browser.title 
      assert_equal "Selenium seleniumhq", browser.field("q") 
      assert browser.text?("seleniumhq.org") 
      assert browser.element?("link=Cached") 
    end 

end 

至於異常處理,單元測試與處理錯誤消息的異常。

這就是說,我可能誤解了你的問題。

+0

好,因爲彙報,我想硒樣報告(見這裏:http://labs.fusionlink.com/katapult/images/Image/cfeclipse/pic21.jpg ) 但是,如果使用selenium-client gem是不可能的,我想創建自己的,我也想用一些東西來擴展它(例如包含錯誤的頁面的屏幕截圖)。 爲了做到這一點,我必須抓住例外。我可以用「救援」來做到這一點,但那意味着我的每個測試都應該有開始 - 救援結束聲明,這很煩人。有沒有另外一種方法呢? – zorglub76 2009-07-06 14:56:24

0

Extent的初始構建適用於Ruby。您可以查看示例here。最新消息來源於github

示例代碼:

# main extent instance 
extent = RelevantCodes::ExtentReports.new('extent_ruby.html') 

# extent-test 
extent_test = extent.start_test('First', 'description string') 

# logs 
extent_test.log(:pass, 'step', 'details') 
extent.end_test(extent_test) 

# flush to write everything to html file 
extent.flush