class Testmgr::TestReport

Attributes

browser_under_test[RW]
completed[RW]
data_under_test[RW]
description[RW]
drugUnderTest[RW]
environment_under_test[RW]
generalUser[RW]
req_list[RW]
requirements[RW]
tEnd[RW]
tStart[RW]
test_list[RW]
webApp[RW]
worksheet_under_test[RW]

Public Class Methods

new() click to toggle source
# File lib/testmgr/base/test_report.rb, line 28
def initialize()
  puts 'TestReport.initialize()'
  @description=""
  @test_list = []
  @req_list = []
  @requirements=[]
  @environment_under_test=:qa
  @id_under_test=nil
  @tStart=Time.now


  @webApp=nil
  @generalUser=GeneralUser.new()

  @moxywidgets={}
end

Public Instance Methods

add(rc, description) click to toggle source
# File lib/testmgr/base/test_report.rb, line 225
def add(rc, description)

  if !rc
    begin
      raise "Failed QA Test"
    rescue Exception => e
      puts e.backtrace
    end

    TestUtils.hitKey(__FILE__ + (__LINE__).to_s + " Test Fail : #{description.to_s}- HIT KEY")
  end

  puts __FILE__ + (__LINE__).to_s + " #{description.to_s} : #{rc.to_s}"
  @test_list.push({ :rc => rc, :description => description})
  rc
end
addReq(r) click to toggle source
# File lib/testmgr/base/test_report.rb, line 221
def addReq(r)
  @req_list << r.to_s
end
addRequirement(req) click to toggle source
# File lib/testmgr/base/test_report.rb, line 217
def addRequirement(req)
  @requirements << Testmgr::TestComposite.new(req)
end
completed?() click to toggle source
# File lib/testmgr/base/test_report.rb, line 109
def completed?
  @completed
end
completedDate() click to toggle source
# File lib/testmgr/base/test_report.rb, line 104
def completedDate()
  @tCompleted
end
endTest() click to toggle source
# File lib/testmgr/base/test_report.rb, line 162
def endTest()
  @tEnd=Time.now()
end
execute(procs) click to toggle source
# File lib/testmgr/base/test_report.rb, line 252
def execute(procs)

  begin
    puts __FILE__ + (__LINE__).to_s + " == execute() =="

    if procs.has_key?(:setup)
      procs[:setup].call
    else
      puts __FILE__ + (__LINE__).to_s + " | execute default setup()"
      TestReport.instance.setup
    end

    if procs.has_key?(:execute)
      procs[:execute].call
    end

    TestReport.instance.completed()

  rescue Exception => e
    puts __FILE__ + (__LINE__).to_s + " == Message :\n" + e.message
    puts $@

  ensure

    if procs.has_key?(:teardown)
      procs[:teardown].call
    else
      TestReport.instance.teardown()
    end

  end

  puts __FILE__ + (__LINE__).to_s + " == exit execute() =="
end
generateReport() click to toggle source
# File lib/testmgr/base/test_report.rb, line 296
def generateReport()
  endTest()

  puts "\n\n==== TEST REPORT SUMMARY ====\n"
  final_result=true
  passed=0
  failed=0

  i=0
  @test_list.each do |rc|
    puts i.to_s + '. ' + rc[:description].to_s + ' : ' + rc[:rc].to_s
    final_result &&= rc[:rc]

    if rc[:rc]
      passed += 1
    else
      failed += 1
    end

    i+=1
  end

  nAsserts = @test_list.size

  final_result &&=@completed

  puts "\n\nRequirements : " + @req_list.join(', ').to_s
  puts "Description : #{@description.to_s}"
  puts "Total assertions : #{nAsserts.to_s}"
  puts "\n\nPassed : #{passed.to_s}/#{nAsserts.to_s}"
  puts "Failed : #{failed.to_s}/#{nAsserts.to_s}"
  puts "Completed : #{@completed.to_s}"
  puts "Browser: #{@browser_under_test.to_s}"
  puts "Env    : #{@environment_under_test[:name].to_s}"
  puts "URL    : " + @environment_under_test[:url].to_s
  puts "Login  : " + getLoginId().to_s
  puts "DUT    : " + @data_under_test.to_s
  puts "Start/End  : #{@tStart.to_s}" + " / #{@tEnd.to_s}"
  elapsed_time=time_diff_milli(@tStart)
  puts "Elapsed time : #{elapsed_time.to_s} msec."
  puts "\n\nT*** Test Result : #{final_result.to_s} ***"
end
getDataUnderTest() click to toggle source
# File lib/testmgr/base/test_report.rb, line 170
def getDataUnderTest()
  @data_under_test
end
getDescription() click to toggle source
# File lib/testmgr/base/test_report.rb, line 49
def getDescription()
  @description.to_s
end
getEnvironment() click to toggle source
# File lib/testmgr/base/test_report.rb, line 196
def getEnvironment()
  @environment_under_test
end
getGeneralUser() click to toggle source
# File lib/testmgr/base/test_report.rb, line 117
def getGeneralUser()
  @generalUser
end
getId() click to toggle source
# File lib/testmgr/base/test_report.rb, line 121
def getId()
  @id_under_test
end
getLoginId() click to toggle source
# File lib/testmgr/base/test_report.rb, line 154
def getLoginId()
  @generalUser.getLoginId()
end
getLoginPassword() click to toggle source
# File lib/testmgr/base/test_report.rb, line 138
def getLoginPassword()
  @generalUser.getLoginPassword()
end
getReq(req) click to toggle source

if the requirement doesn't exist, then add it.

# File lib/testmgr/base/test_report.rb, line 206
def getReq(req)
  @requirements.each do |r|
    if r.get_name==req
      return r
    end
  end

  addRequirement(req).last
#  return nil
end
getUser() click to toggle source
# File lib/testmgr/base/test_report.rb, line 113
def getUser()
  @generalUser
end
getWorkSheet() click to toggle source
# File lib/testmgr/base/test_report.rb, line 150
def getWorkSheet()
  @worksheet_under_test
end
report() click to toggle source
# File lib/testmgr/base/test_report.rb, line 288
def report()
  puts "\n\n== Test Report ==\n"

  @requirements.each do |r|
    r.print
  end
end
setBrowserUnderTest(bType=:firefox) click to toggle source
# File lib/testmgr/base/test_report.rb, line 200
def setBrowserUnderTest(bType=:firefox)
  @browser_under_test=bType
  TestUtils.setDefaultBrowser(bType)
end
setDataUnderTest(d) click to toggle source
# File lib/testmgr/base/test_report.rb, line 166
def setDataUnderTest(d)
  @data_under_test=d
end
setDescription(s) click to toggle source
# File lib/testmgr/base/test_report.rb, line 45
def setDescription(s)
  @description=s.to_s
end
setEnvironment(e=:qa, url=nil) click to toggle source

Environments

> :qa

> :cert

> :dev

> :prod

# File lib/testmgr/base/test_report.rb, line 179
def setEnvironment(e=:qa, url=nil)
  env={
      :qa   => { :name => 'QA',   :description => 'QA Env',  :url => 'https://www.qa.com'   },
      :qa2  => { :name => 'QA2',  :description => 'QA2 Env', :url => 'https://www.qa2.com' },
      :prod => { :name => 'PROD', :description => 'CERT',    :url => 'https://www.prod.com' }
  }


  if url.nil?
    @environment_under_test=env[e]
  else
    @environment_under_test={ :name => 'custom', :url => url.to_s }
  end


end
setLoginId(s=nil) click to toggle source
# File lib/testmgr/base/test_report.rb, line 129
def setLoginId(s=nil)
  puts __FILE__ + (__LINE__).to_s + " setLoginId(#{s.to_s})"
  @generalUser.setLoginId(s)
end
setLoginPassword(s=nil) click to toggle source
# File lib/testmgr/base/test_report.rb, line 134
def setLoginPassword(s=nil)
  @generalUser.setLoginPassword(s)
end
setWebApp(w) click to toggle source
# File lib/testmgr/base/test_report.rb, line 89
def setWebApp(w)
  puts __FILE__ + (__LINE__).to_s + " setWebApp(#{w.class.to_s})"
  @webApp=w
end
setWorkSheet(s) click to toggle source
# File lib/testmgr/base/test_report.rb, line 142
def setWorkSheet(s)
  @worksheet_under_test=s
end
setup(description="TBD") click to toggle source

Environments

> :qa

> :cert

> :dev

> :prod

# File lib/testmgr/base/test_report.rb, line 58
  def setup(description="TBD")
    TestReport.instance.setDescription(description)

    @tStart=Time.now()
    @completed=false

#    options=TestUtils.parseOptions()



#    TestReport.instance.setEnvironment(options[:env].to_sym, options[:url])
#    TestReport.instance.setBrowserUnderTest(options[:browser].to_sym)
#    TestReport.instance.setDataUnderTest(options[:dut])
#    TestReport.instance.setWorkSheet(options[:worksheet])
    #TestReport.instance.setPatientWorkSheet(options[:patient_worksheet])
#    @id_under_test=options[:id]
    # GeneralUser
#    TestReport.instance.setLoginPassword(options[:password])
#    TestReport.instance.setLoginId(options[:userid])

#   TestReport.instance.setPatientClassFile(options[:patient_class_file])
  end
teardown() click to toggle source
# File lib/testmgr/base/test_report.rb, line 158
def teardown()
  TestReport.instance.generateReport()
end
time_diff_milli(start, finish=Time.now) click to toggle source

Obtain time diff in milliseconds Example:

> t1 = Time.now

> .…

> t2 = Time.now

> TestUtils.time_diff_milli(t2, t1)

# File lib/testmgr/base/test_report.rb, line 248
def time_diff_milli(start, finish=Time.now)
  rc=(finish - start) * 1000.0
end