watir测试报告(一)

来源:互联网 发布:软件开发者 编辑:程序博客网 时间:2024/05/01 13:43

本文讲述的是利用watir来生成html报告。

其一: 使用test/unit, 这样结构上看其里比较清晰。

其二: 订制html样式, 这样每次只要套用就可以了。

其三: 本文尚有不足之处。 需不断修改, 以为己用。


require 'test/unit'

require 'watir'

require 'html.class'

class Google_search_test < Test::Unit::TestCase
def setup
     @browser_type = 'IE'
     #~ browser_type = 'Firefox'
     @site = "www.google.com"
     @test_environment = 'QA'
     # initialize HTML report
     @html = HTMLReport.new()
     # createReport(reportName, header, browser_type)
     @report = @html.createReport('google_search', 'Google Search', @browser_type)
end

def test_001
#this method can be set comm method.
  if @browser_type == 'IE'
     @browser = Watir::IE.new
     @browser.goto @site

  elsif @browser_type == 'Firefox'
     Watir::Browser.default = 'firefox'
     @browser = Watir::Browser.start(@site)
  end
 
  ######################################
  test_case = @html.newTestName('Verify controls')
  ######################################
 
  test = 'Step 1: Check search text field'
  @html.add_to_report(@browser.text_field(:name, 'q').exists?, test, 'PASS: Located search text field', 'FAIL: Unable to locate search field')
 
  test = 'Step 2: Check Google Search button'
  @html.add_to_report(@browser.button(:name, 'btnG').exists?, test, 'PASS: Located Google Search button', 'FAIL: Unable to locate Google Search button')
 
  test = 'Step 3: Check Feeling Lucky button'
  @html.add_to_report(@browser.button(:name, 'btnI').exists?, test, 'PASS: Located Feeling Lucky button', 'FAIL: Unable to locate Feeling Lucky button')
 
  ######################################
  test_case = @html.newTestName('Perfom Watir search')
  ######################################
 
  @browser.text_field(:name, 'q').set 'Watir'
  @browser.button(:name, 'btnG').click
  test = 'Step 1: Check valid search results (1)'
  @html.add_to_report(@browser.text.include?('Babysteps in WATIR'), test, 'PASS: Located text "Babysteps in WATIR"', 'FAIL: Unable to locate text "Babysteps in WATIR"')
 
  test = 'Step 2: Check valid search results (2)'
  @html.add_to_report(@browser.text.include?('Project Info'), test, 'PASS: Located text "Project Info"', 'FAIL: Unable to locate text "Project Info"')
 
  test = 'Step 3: Check for invalid search results'
  @html.add_to_report(@browser.text.include?('Suez Canal'), test, 'PASS: Did not locate text "Suez Canal"', 'FAIL: Found text "Suez Canal"')


end

def teardown
 # teardown
  #@browser.close
  @html.finishReport(@report, @browser_type, @test_environment)
  rescue => e
    puts $!
    puts e.backtrace
    @html.finishReport(@report, @browser_type, @test_environment)
    #~ @browser.close
end

 
end