2009-07-06 70 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