Class: Testmgr::TestReport

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/testmgr/base/test_report.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTestReport

Returns a new instance of TestReport.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/testmgr/base/test_report.rb', line 28

def initialize()
  puts 'TestReport.initialize()'
  @description=""
  @test_list = []
  @req_list = []
  @environment_under_test=:qa
  @id_under_test=nil
  @patient_worksheet=nil
  @patient_class_file='c:/tmp/patient-class.xls'
  @webApp=nil
  @generalUser=GeneralUser.new()
  @test_patient={}
  @moxywidgets={}
end

Instance Attribute Details

#browser_under_testObject

Returns the value of attribute browser_under_test.



17
18
19
# File 'lib/testmgr/base/test_report.rb', line 17

def browser_under_test
  @browser_under_test
end

#completedObject

END Commands



99
100
101
# File 'lib/testmgr/base/test_report.rb', line 99

def completed
  @completed
end

#data_under_testObject

Returns the value of attribute data_under_test.



18
19
20
# File 'lib/testmgr/base/test_report.rb', line 18

def data_under_test
  @data_under_test
end

#descriptionObject

Returns the value of attribute description.



13
14
15
# File 'lib/testmgr/base/test_report.rb', line 13

def description
  @description
end

#drugUnderTestObject

Returns the value of attribute drugUnderTest.



19
20
21
# File 'lib/testmgr/base/test_report.rb', line 19

def drugUnderTest
  @drugUnderTest
end

#environment_under_testObject

Returns the value of attribute environment_under_test.



14
15
16
# File 'lib/testmgr/base/test_report.rb', line 14

def environment_under_test
  @environment_under_test
end

#generalUserObject

Returns the value of attribute generalUser.



26
27
28
# File 'lib/testmgr/base/test_report.rb', line 26

def generalUser
  @generalUser
end

#patient_class_fileObject

Returns the value of attribute patient_class_file.



23
24
25
# File 'lib/testmgr/base/test_report.rb', line 23

def patient_class_file
  @patient_class_file
end

#patient_worksheetObject

Worksheet name from patient-class XLS file



24
25
26
# File 'lib/testmgr/base/test_report.rb', line 24

def patient_worksheet
  @patient_worksheet
end

#req_listObject

Returns the value of attribute req_list.



21
22
23
# File 'lib/testmgr/base/test_report.rb', line 21

def req_list
  @req_list
end

#tEndObject

Returns the value of attribute tEnd.



15
16
17
# File 'lib/testmgr/base/test_report.rb', line 15

def tEnd
  @tEnd
end

#test_listObject

Returns the value of attribute test_list.



16
17
18
# File 'lib/testmgr/base/test_report.rb', line 16

def test_list
  @test_list
end

#test_patientObject

Returns the value of attribute test_patient.



22
23
24
# File 'lib/testmgr/base/test_report.rb', line 22

def test_patient
  @test_patient
end

#tStartObject

Returns the value of attribute tStart.



15
16
17
# File 'lib/testmgr/base/test_report.rb', line 15

def tStart
  @tStart
end

#webAppObject

START Commands



83
84
85
# File 'lib/testmgr/base/test_report.rb', line 83

def webApp
  @webApp
end

#worksheet_under_testObject

Returns the value of attribute worksheet_under_test.



20
21
22
# File 'lib/testmgr/base/test_report.rb', line 20

def worksheet_under_test
  @worksheet_under_test
end

Instance Method Details

#add(rc, description) ⇒ Object



221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
# File 'lib/testmgr/base/test_report.rb', line 221

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) ⇒ Object



217
218
219
# File 'lib/testmgr/base/test_report.rb', line 217

def addReq(r)
  @req_list << r.to_s
end

#completed?Boolean

Returns:

  • (Boolean)


109
110
111
# File 'lib/testmgr/base/test_report.rb', line 109

def completed?
  @completed
end

#completedDateObject



104
105
106
# File 'lib/testmgr/base/test_report.rb', line 104

def completedDate()
  @tCompleted
end

#endTestObject



173
174
175
# File 'lib/testmgr/base/test_report.rb', line 173

def endTest()
  @tEnd=Time.now()
end

#execute(procs) ⇒ Object



248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
# File 'lib/testmgr/base/test_report.rb', line 248

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

#generateReportObject



284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
# File 'lib/testmgr/base/test_report.rb', line 284

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\nTest Result : #{final_result.to_s}"
end

#getDataUnderTestObject



181
182
183
# File 'lib/testmgr/base/test_report.rb', line 181

def getDataUnderTest()
  @data_under_test
end

#getDescriptionObject



47
48
49
# File 'lib/testmgr/base/test_report.rb', line 47

def getDescription()
  @description.to_s
end

#getEnvironmentObject



207
208
209
# File 'lib/testmgr/base/test_report.rb', line 207

def getEnvironment()
  @environment_under_test
end

#getGeneralUserObject



117
118
119
# File 'lib/testmgr/base/test_report.rb', line 117

def getGeneralUser()
  @generalUser
end

#getIdObject



121
122
123
# File 'lib/testmgr/base/test_report.rb', line 121

def getId()
  @id_under_test
end

#getLoginIdObject



165
166
167
# File 'lib/testmgr/base/test_report.rb', line 165

def getLoginId()
  @generalUser.getLoginId()
end

#getLoginPasswordObject



145
146
147
# File 'lib/testmgr/base/test_report.rb', line 145

def getLoginPassword()
  @generalUser.getLoginPassword()
end

#getPatientClassFileObject



125
126
127
# File 'lib/testmgr/base/test_report.rb', line 125

def getPatientClassFile()
  @patient_class_file
end

#getPatientWorkSheetObject



157
158
159
# File 'lib/testmgr/base/test_report.rb', line 157

def getPatientWorkSheet()
  @patient_worksheet
end

#getUserObject



113
114
115
# File 'lib/testmgr/base/test_report.rb', line 113

def getUser()
  @generalUser
end

#getWorkSheetObject



161
162
163
# File 'lib/testmgr/base/test_report.rb', line 161

def getWorkSheet()
  @worksheet_under_test
end

#setBrowserUnderTest(bType = :firefox) ⇒ Object



211
212
213
214
# File 'lib/testmgr/base/test_report.rb', line 211

def setBrowserUnderTest(bType=:firefox)
  @browser_under_test=bType
  TestUtils.setDefaultBrowser(bType)
end

#setDataUnderTest(d) ⇒ Object



177
178
179
# File 'lib/testmgr/base/test_report.rb', line 177

def setDataUnderTest(d)
  @data_under_test=d
end

#setDescription(s) ⇒ Object



43
44
45
# File 'lib/testmgr/base/test_report.rb', line 43

def setDescription(s)
  @description=s.to_s
end

#setEnvironment(e = :qa, url = nil) ⇒ Object

Environments

> :qa

> :cert

> :dev

> :prod



190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
# File 'lib/testmgr/base/test_report.rb', line 190

def setEnvironment(e=:qa, url=nil)
  env={
      :qa   => { :name => 'QA',   :description => 'QA Env',  :url => 'https://ww0.drfirst.com'   },
      :qa2  => { :name => 'QA2',  :description => 'QA2 Env', :url => 'https://qa2-187-1001.qa.drfirst.com/login.jsp' },
      :cert => { :name => 'CERT', :description => 'CERT',    :url => 'https://cert.drfirst.com' }
  }


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


end

#setLoginId(s = nil) ⇒ Object



136
137
138
139
# File 'lib/testmgr/base/test_report.rb', line 136

def setLoginId(s=nil)
  puts __FILE__ + (__LINE__).to_s + " setLoginId(#{s.to_s})"
  @generalUser.setLoginId(s)
end

#setLoginPassword(s = nil) ⇒ Object



141
142
143
# File 'lib/testmgr/base/test_report.rb', line 141

def setLoginPassword(s=nil)
  @generalUser.setLoginPassword(s)
end

#setPatientClassFile(f) ⇒ Object



129
130
131
132
133
134
# File 'lib/testmgr/base/test_report.rb', line 129

def setPatientClassFile(f)
  if !f.nil?
    @patient_class_file=f.to_s
  end
  @patient_class_file
end

#setPatientWorkSheet(s) ⇒ Object



153
154
155
# File 'lib/testmgr/base/test_report.rb', line 153

def setPatientWorkSheet(s)
  @patient_worksheet=s
end

#setup(description = "TBD") ⇒ Object

Environments

> :qa

> :cert

> :dev

> :prod



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/testmgr/base/test_report.rb', line 56

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

#setWebApp(w) ⇒ Object



89
90
91
92
# 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) ⇒ Object



149
150
151
# File 'lib/testmgr/base/test_report.rb', line 149

def setWorkSheet(s)
  @worksheet_under_test=s
end

#teardownObject



169
170
171
# File 'lib/testmgr/base/test_report.rb', line 169

def teardown()
  TestReport.instance.generateReport()
end

#time_diff_milli(start, finish = Time.now) ⇒ Object

Obtain time diff in milliseconds Example:

> t1 = Time.now

> .…

> t2 = Time.now

> TestUtils.time_diff_milli(t2, t1)



244
245
246
# File 'lib/testmgr/base/test_report.rb', line 244

def time_diff_milli(start, finish=Time.now)
  rc=(finish - start) * 1000.0
end