我想設置使用硒和硒客戶端寶石測試的環境。 我更喜歡單元測試風格超過RSpec風格的測試。硒紅寶石報告
我必須建立自己的報告系統嗎?
如何在每次測試中添加異常處理而不必開始救援結束?有沒有辦法使用mixins來做到這一點?
我想設置使用硒和硒客戶端寶石測試的環境。 我更喜歡單元測試風格超過RSpec風格的測試。硒紅寶石報告
我必須建立自己的報告系統嗎?
如何在每次測試中添加異常處理而不必開始救援結束?有沒有辦法使用mixins來做到這一點?
我不確定我是否理解您的問題在報告方面意味着什麼,但硒客戶端寶石處理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
至於異常處理,單元測試與處理錯誤消息的異常。
這就是說,我可能誤解了你的問題。
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
好,因爲彙報,我想硒樣報告(見這裏:http://labs.fusionlink.com/katapult/images/Image/cfeclipse/pic21.jpg ) 但是,如果使用selenium-client gem是不可能的,我想創建自己的,我也想用一些東西來擴展它(例如包含錯誤的頁面的屏幕截圖)。 爲了做到這一點,我必須抓住例外。我可以用「救援」來做到這一點,但那意味着我的每個測試都應該有開始 - 救援結束聲明,這很煩人。有沒有另外一種方法呢? – zorglub76 2009-07-06 14:56:24