taf 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fdf9086f0e77fd7b425360f96cd7ce31eb009af1108cbaf87f2db5074741a247
4
- data.tar.gz: b1d008e6ad5536addcfb8968581f5c161d751a4e98688d6f435d2b39fd9cb66b
3
+ metadata.gz: bb63f2071b93028017fb466d80db1c21bef8f468788f6b3df344b3f9ba00b8ef
4
+ data.tar.gz: 8760a5584efe3a280b80f87886ce3e13511747f1226cf6501070529242b945d8
5
5
  SHA512:
6
- metadata.gz: d1983aa74c176c657c4aa4ebf13f49ef401f084f369f738a923102fe3d72cacc4fe054e63fba75fd7557c37739791d906c05a437ea9b0739b916a5ee2a2b3489
7
- data.tar.gz: c4062ab7558b5591d8ac095f7f17d1d881d2a2abc56cc29090046732e4a33dfbb25cabe6312e59cf0d402ed7767dcf1f17802d690d7864beef4fe93052ea3746
6
+ metadata.gz: 96ca2091cfe212d6364c9b2da8ed5a3cdcd1f054a2ae4d600815fa49925c2a024a63fe8f4d596bb9c5dfc2d9da336b26d5b6c605c37903351c273019e939f3be
7
+ data.tar.gz: 061a360b6a1a4fb0ebfbcc197b1eba9b1ce019891643709f115907a11a447e96797e2e47a65524830d66197f44a1669136977c97f9f6125a55321a994a75951a
data/bin/taf CHANGED
@@ -16,11 +16,10 @@ total_metrics = [total_passes, total_failures, total_skipped]
16
16
  # get the overall test suite end time
17
17
  ts_end_time = Taf::Report.current_time
18
18
 
19
+ total_time = TimeDifference.between(ts_end_time, ts_start_time).humanize || 0
19
20
  # output the overall test summary
20
- Taf::ReportSummary.overall_test_summary(ts_start_time, ts_end_time,
21
- total_metrics)
22
- Taf::JUnitReport.test_summary_junit(ts_start_time, ts_end_time,
23
- total_metrics)
21
+ Taf::ReportSummary.overall_test_summary(total_time, total_metrics)
22
+ Taf::TapReport.output
24
23
 
25
24
  # Exit status code.
26
25
  Process.exit(total_failures.zero? ? 0 : 1)
data/lib/taf/report.rb CHANGED
@@ -11,78 +11,50 @@ module Taf
11
11
  module Report
12
12
  # get the current time in the format Day - Month - Date - Time (HH:MM:SS)
13
13
  def self.current_time
14
- Time.new.strftime('%a %b %d %H:%M:%S %Z')
14
+ require 'time'
15
+ # Time.new.strftime('%a %b %d %H:%M:%S %Z')
16
+ Time.new.xmlschema
15
17
  end
16
18
 
17
19
  # print the test Step info to the test results file
18
- def self.print_test_step_header(test_file_name, test_step_idx, test_desc)
20
+ def self.print_test_step_header(test_step_idx, test_desc)
19
21
  @test_start_time = current_time
20
22
  Taf::MyLog.log.info "Test step: #{test_step_idx} : #{test_desc}"
21
-
22
- step = { 'id' => test_step_idx,
23
- 'classname' => "SuiteID: #{Taf::JSONParser.test_id}" \
24
- " Test Step: #{test_step_idx} #{test_desc}",
25
- 'name' => test_desc,
26
- 'file' => test_file_name }
27
-
28
- # output to console to show test step
29
- # puts step
30
-
31
- return unless test_file_name
32
-
33
- $testStep_xml ||= {}
34
- $testStep_xml[test_file_name] ||= {}
35
- $testStep_xml[test_file_name][test_step_idx] = step
36
23
  end
37
24
 
38
25
  # print the Pass / Fail status of a test to the test results file
39
- def self.test_pass_fail(pass_fail, test_file_name, test_step_idx, metrics)
40
- if pass_fail == true
26
+ def self.test_pass_fail(
27
+ pass_fail,
28
+ test_file_name,
29
+ test_step_idx,
30
+ test_step_description,
31
+ metrics
32
+ )
33
+ if pass_fail
34
+ Taf::MyLog.log.info "Test #{test_step_idx} has Passed ".green
41
35
  @current_test_fail = false
42
36
  metrics.stepPasses += 1
43
- Taf::MyLog.log.info "Test #{test_step_idx} has Passed ".green
37
+ Taf::TapReport.success(
38
+ test_file_name, test_step_idx, test_step_description
39
+ )
44
40
  elsif pass_fail == false
41
+ Taf::MyLog.log.warn "Test #{test_step_idx} has FAILED ".red
42
+ Taf::Screenshot.save_screenshot(test_step_idx)
45
43
  @current_test_fail = true
46
44
  metrics.stepFailures += 1
47
- Taf::MyLog.log.warn "Test #{test_step_idx} has FAILED ".red
48
- sc_file_name = Taf::Screenshot.save_screenshot(test_step_idx)
49
- failstep = {
50
- 'message' => "SuiteID: #{Taf::JSONParser.test_id}" \
51
- " Test Step: #{test_step_idx} Test has" \
52
- " FAILED - Check logs, see Screenshot: #{sc_file_name}",
53
- 'type' => 'FAILURE',
54
- 'file' => test_file_name
55
- }
56
- # output to console to show test step failure
57
- # puts failstep
58
-
59
- return unless test_file_name
60
-
61
- $failtestStep_xml ||= {}
62
- $failtestStep_xml[test_file_name] ||= []
63
- $failtestStep_xml[test_file_name][test_step_idx] = failstep
45
+ Taf::TapReport.failure(
46
+ test_file_name, test_step_idx, test_step_description
47
+ )
64
48
  else
49
+ Taf::MyLog.log.info "Test #{test_step_idx} no checks performed ".blue
65
50
  @current_test_fail = false
66
51
  metrics.stepSkipped += 1
67
- Taf::MyLog.log.info "Test #{test_step_idx} no checks performed ".blue
68
- skipstep = {
69
- 'message' => "SuiteID: #{Taf::JSONParser.test_id}" \
70
- " Test Step: #{test_step_idx} No" \
71
- ' checks performed - Check logs',
72
- 'type' => 'SKIPPED',
73
- 'file' => test_file_name
74
- }
75
- # output to console to show test step failure
76
- # puts skipstep
77
-
78
- return unless test_file_name
79
-
80
- $skiptestStep_xml ||= {}
81
- $skiptestStep_xml[test_file_name] ||= []
82
- $skiptestStep_xml[test_file_name][test_step_idx] = skipstep
52
+ Taf::TapReport.skip(
53
+ test_file_name, test_step_idx, test_step_description
54
+ )
83
55
  end
84
- test_end_time = current_time
85
56
 
57
+ test_end_time = current_time
86
58
  test_duration = TimeDifference.between(
87
59
  test_end_time, @test_start_time
88
60
  ).humanize || 0
@@ -92,6 +64,7 @@ module Taf
92
64
  # check if the test failure threshold has been reached for total failures
93
65
  # or consecutive failures.
94
66
  # If a certain number of consecutive tests fail then throw an exception
67
+
95
68
  def self.check_failure_threshold(test_file_name)
96
69
  consecutive_fail_threshold = 3
97
70
  if @current_test_fail
@@ -39,13 +39,10 @@ module Taf
39
39
  end
40
40
 
41
41
  # output the overall test results summary
42
- def self.overall_test_summary(ts_start_time, ts_end_time, total_metrics)
42
+ def self.overall_test_summary(total_time, total_metrics)
43
43
  print_test_summary
44
- t_time = TimeDifference.between(ts_end_time, ts_start_time).humanize || 0
45
44
 
46
- Taf::MyLog.log.info "Total Tests started at: #{ts_start_time}"
47
- Taf::MyLog.log.info "Total Tests finished at: #{ts_end_time}"
48
- Taf::MyLog.log.info "Total Tests duration: #{t_time}"
45
+ Taf::MyLog.log.info "Toatal Duration: #{total_time}"
49
46
  Taf::MyLog.log.info "Total Tests Passed: #{total_metrics[0]}".green
50
47
  Taf::MyLog.log.info "Total Tests Failed: #{total_metrics[1]}".red
51
48
  Taf::MyLog.log.info "Total Tests Skipped: #{total_metrics[2]}".blue
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Created on 13 June 2019
4
+ # @author: Andy Perrett
5
+ #
6
+ # Versions:
7
+ # 1.0 - Baseline
8
+ #
9
+
10
+ module Taf
11
+ # tap_report.rb - methods for outputting to a tap report file.
12
+ class TapReport
13
+ include Singleton
14
+
15
+ def self.success(filename, index, description)
16
+ step = Taf::TestSteps::SuccessStep.new(index: index,
17
+ description: description)
18
+ add_step filename, step
19
+ end
20
+
21
+ def self.failure(filename, index, description)
22
+ step = Taf::TestSteps::FailureStep.new(index: index,
23
+ description: description)
24
+ add_step filename, step
25
+ end
26
+
27
+ def self.skip(filename, index, description)
28
+ step = Taf::TestSteps::SkipStep.new(index: index,
29
+ description: description)
30
+ add_step filename, step
31
+ end
32
+
33
+ def self.add_step(filename, step)
34
+ instance.tests[filename] ||= []
35
+ instance.tests[filename] << step
36
+ end
37
+
38
+ def self.output
39
+ project_id = Taf::JSONParser.project_id.delete(' ')
40
+ ts_dir = File.join('Results', project_id)
41
+ file = File.open("#{ts_dir}/report_#{SecureRandom.uuid}.tap", 'w')
42
+ total_steps = 0
43
+ successes = 0
44
+ failures = 0
45
+ instance.tests.each do |filename, steps|
46
+ file.write("# #{filename}\n")
47
+ steps.each do |step|
48
+ total_steps += 1
49
+ if step.is_a?(Taf::TestSteps::SkipStep)
50
+ outstr = "ok #{total_steps} #{step.description} # SKIP"
51
+ else
52
+ if step.is_a?(Taf::TestSteps::SuccessStep)
53
+ outstr = 'ok'
54
+ successes += 1
55
+ elsif step.is_a?(Taf::TestSteps::FailureStep)
56
+ outstr = 'not ok'
57
+ failures += 1
58
+ else
59
+ outstr = '# test error'
60
+ end
61
+ outstr += " #{total_steps} #{step.description} - Step #{step.index}"
62
+ end
63
+
64
+ file.write(outstr + "\n")
65
+ end
66
+ end
67
+ file.write("1..#{total_steps}\n")
68
+ file.write("# tests #{total_steps}\n")
69
+ file.write("# pass #{successes}\n")
70
+ file.write("# fail #{failures}\n")
71
+ file.close
72
+ end
73
+
74
+ def initialize
75
+ @tests = {}
76
+ end
77
+
78
+ attr_accessor :tests
79
+ end
80
+ end
@@ -35,9 +35,6 @@ module Taf
35
35
  # create project folders - these only need creating once per test suite
36
36
  Taf::CreateDirectories.construct_projectdirs
37
37
 
38
- # get the test case start time
39
- tc_start = Taf::Report.current_time
40
-
41
38
  Taf::Browser.open_browser
42
39
 
43
40
  begin
@@ -55,16 +52,9 @@ module Taf
55
52
  Taf::MyLog.log.warn e
56
53
  end
57
54
 
58
- # get the test case end time
59
- tc_end = Taf::Report.current_time
60
-
61
- # output the test results summary for the current test case,
62
- # pass in the test file number to save the summary against it's
63
- # testfile
55
+ # output the test results summary to console
64
56
  Taf::ReportSummary.test_step_summary(test_file_name, test_file_idx,
65
57
  metrics)
66
- Taf::JUnitReport.test_step_summary_xml(test_file_name, test_file_idx,
67
- tc_start, tc_end, metrics)
68
58
 
69
59
  # close the browser if created
70
60
  Taf::Browser.b.quit
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Taf
4
+ module TestSteps
5
+ class FailureStep < Step
6
+ end
7
+ end
8
+ end
@@ -7,10 +7,10 @@ module Taf
7
7
  class CheckBoxdata < Base
8
8
  register :check_box_data
9
9
 
10
- def perform
11
- elms = %i[textarea text_field iframe]
10
+ def check
11
+ @elms = %i[textarea text_field iframe]
12
12
 
13
- found_box = elms.map do |elm|
13
+ found_box = @elms.map do |elm|
14
14
  Taf::Browser.b.send(elm, "#{@locate}": @value).exists?
15
15
  end.compact
16
16
 
@@ -19,7 +19,12 @@ module Taf
19
19
  index = found_box.index(true)
20
20
  return unless index
21
21
 
22
- ele = Taf::Browser.b.send(elms[index], "#{@locate}": @value)
22
+ index
23
+ end
24
+
25
+ def perform
26
+ index = check
27
+ ele = Taf::Browser.b.send(@elms[index], "#{@locate}": @value)
23
28
 
24
29
  ele.wait_until(&:exists?)
25
30
  (ele.value == @value2)
@@ -7,10 +7,10 @@ module Taf
7
7
  class ClickButton < Base
8
8
  register :click_button
9
9
 
10
- def perform
11
- elms = %i[button span a div link image h1 h2 h3 h4]
10
+ def check
11
+ @elms = %i[button span a div link image h1 h2 h3 h4]
12
12
 
13
- found_button = elms.map do |elm|
13
+ found_button = @elms.map do |elm|
14
14
  Taf::Browser.b.send(elm, "#{@locate}": @value).exists?
15
15
  end.compact
16
16
 
@@ -19,7 +19,12 @@ module Taf
19
19
  index = found_button.index(true)
20
20
  return unless index
21
21
 
22
- Taf::Browser.b.send(elms[index], "#{@locate}": @value)
22
+ index
23
+ end
24
+
25
+ def perform
26
+ index = check
27
+ Taf::Browser.b.send(@elms[index], "#{@locate}": @value)
23
28
  .wait_until(&:exists?).click
24
29
  Taf::MyLog.log.info("Button: #{@value} has been selected")
25
30
  true
@@ -7,12 +7,10 @@ module Taf
7
7
  class WriteBoxdata < Base
8
8
  register :write_box_data
9
9
 
10
- def perform
11
- txt = @value2
12
- txt = ENV[txt.to_s] if ENV[txt.to_s]
13
- elms = %i[textarea text_field iframe]
10
+ def check
11
+ @elms = %i[textarea text_field iframe]
14
12
 
15
- found_box = elms.map do |elm|
13
+ found_box = @elms.map do |elm|
16
14
  Taf::Browser.b.send(elm, "#{@locate}": @value).exists?
17
15
  end.compact
18
16
 
@@ -21,7 +19,14 @@ module Taf
21
19
  index = found_box.index(true)
22
20
  return unless index
23
21
 
24
- Taf::Browser.b.send(elms[index], "#{@locate}": @value)
22
+ index
23
+ end
24
+
25
+ def perform
26
+ txt = @value2
27
+ txt = ENV[txt.to_s] if ENV[txt.to_s]
28
+ index = check
29
+ Taf::Browser.b.send(@elms[index], "#{@locate}": @value)
25
30
  .wait_until(&:exists?).send_keys txt
26
31
  Taf::MyLog.log.info("Textbox: #{@value} has correct value: #{txt}")
27
32
  true
@@ -25,8 +25,7 @@ module Taf
25
25
  if Taf::Browser.b.title.eql?(b_title)
26
26
  Taf::Browser.b.text_field(id: user_elm).wait_until(&:exists?)
27
27
  .set user
28
- Taf::Browser.b.text_field(id: pass_elm).wait_until(&:exists?)
29
- .set pass
28
+ Taf::Browser.b.text_field(id: pass_elm).set pass
30
29
  button = 'Sign in' || 'Log in'
31
30
  Taf::Browser.b.button(value: button).wait_until(&:exists?).click
32
31
  sleep 1
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Taf
4
+ module TestSteps
5
+ class SkipStep < Step
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Taf
4
+ module TestSteps
5
+ # steps.rb - methods for collecting steps info for tap report file.
6
+ class Step
7
+ attr_reader :index, :description
8
+
9
+ def initialize(
10
+ index:,
11
+ description:
12
+ )
13
+ @index = index
14
+ @description = description
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Taf
4
+ module TestSteps
5
+ class SuccessStep < Step
6
+ end
7
+ end
8
+ end
@@ -18,7 +18,7 @@ module Taf
18
18
  def self.process_test_steps(test_file_name, test_step_idx, step_attributes,
19
19
  metrics)
20
20
  # print the test step information
21
- Taf::Report.print_test_step_header(test_file_name, test_step_idx,
21
+ Taf::Report.print_test_step_header(test_step_idx,
22
22
  step_attributes[:testdesc])
23
23
  runtest = step_attributes[:skipTestCase]
24
24
  step_function = step_attributes[:testFunction]
@@ -26,7 +26,13 @@ module Taf
26
26
 
27
27
  if handler.respond_to?(:perform)
28
28
  func = handler.perform(step_attributes) if runtest == false
29
- Taf::Report.test_pass_fail(func, test_file_name, test_step_idx, metrics)
29
+ Taf::Report.test_pass_fail(
30
+ func,
31
+ test_file_name,
32
+ test_step_idx,
33
+ step_attributes[:testdesc],
34
+ metrics
35
+ )
30
36
  Taf::Report.check_failure_threshold(test_file_name)
31
37
  return true
32
38
  else
data/lib/taf/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Taf
4
- VERSION = '0.3.8'
4
+ VERSION = '0.3.9'
5
5
  end
data/lib/taf.rb CHANGED
@@ -14,7 +14,6 @@ module Taf
14
14
  require 'fileutils'
15
15
  require 'logger'
16
16
  require 'net/ping'
17
- require 'nokogiri'
18
17
  require 'time_difference'
19
18
  require 'colored'
20
19
  require 'optparse'
@@ -26,7 +25,7 @@ module Taf
26
25
  require 'taf/cmd_line'
27
26
  require 'taf/create_directories'
28
27
  require 'taf/json_parser'
29
- require 'taf/junit_report'
28
+ require 'taf/tap_report'
30
29
  require 'taf/my_log'
31
30
  require 'taf/parser'
32
31
  require 'taf/report'
@@ -34,6 +33,10 @@ module Taf
34
33
  require 'taf/screenshot'
35
34
  require 'taf/test_engine'
36
35
  require 'taf/test_steps'
36
+ require 'taf/test_steps/step'
37
+ require 'taf/test_steps/success_step'
38
+ require 'taf/test_steps/failure_step'
39
+ require 'taf/test_steps/skip_step'
37
40
  require 'taf/test_steps/handlers/base'
38
41
  require 'taf/version'
39
42
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8
4
+ version: 0.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Perrett
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-10 00:00:00.000000000 Z
11
+ date: 2019-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,20 +94,6 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '2.0'
97
- - !ruby/object:Gem::Dependency
98
- name: nokogiri
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '1.8'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1.8'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: rubygems-update
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -178,14 +164,15 @@ files:
178
164
  - lib/taf/cmd_line.rb
179
165
  - lib/taf/create_directories.rb
180
166
  - lib/taf/json_parser.rb
181
- - lib/taf/junit_report.rb
182
167
  - lib/taf/my_log.rb
183
168
  - lib/taf/parser.rb
184
169
  - lib/taf/report.rb
185
170
  - lib/taf/report_summary.rb
186
171
  - lib/taf/screenshot.rb
172
+ - lib/taf/tap_report.rb
187
173
  - lib/taf/test_engine.rb
188
174
  - lib/taf/test_steps.rb
175
+ - lib/taf/test_steps/failure_step.rb
189
176
  - lib/taf/test_steps/handlers/base.rb
190
177
  - lib/taf/test_steps/handlers/base/browser_back.rb
191
178
  - lib/taf/test_steps/handlers/base/browser_forward.rb
@@ -211,6 +198,9 @@ files:
211
198
  - lib/taf/test_steps/handlers/base/select_dropdown.rb
212
199
  - lib/taf/test_steps/handlers/base/send_special_keys.rb
213
200
  - lib/taf/test_steps/handlers/base/write_box_data.rb
201
+ - lib/taf/test_steps/skip_step.rb
202
+ - lib/taf/test_steps/step.rb
203
+ - lib/taf/test_steps/success_step.rb
214
204
  - lib/taf/version.rb
215
205
  homepage: https://github.com/Aperrett/TAF
216
206
  licenses:
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Created on 20 Sept 2017
4
- # @author: Andy Perrett
5
- #
6
- # Versions:
7
- # 1.0 - Baseline
8
- #
9
- module Taf
10
- # junit_report.rb - methods for writing to the summary xml junit report.
11
- module JUnitReport
12
- # holds printable test report summary for all the executed tests
13
- @test_step_report_summary2 = []
14
- # construct the test suite header for junit
15
- def self.test_step_summary_xml(test_file_name, test_file_name_index,
16
- tc_start, tc_end, metrics)
17
- number_test_steps = [metrics.stepFailures, metrics.stepPasses,
18
- metrics.stepSkipped].sum
19
- @test_step_report_summary2[test_file_name_index] = {
20
- 'classname' => test_file_name,
21
- 'name' => test_file_name,
22
- 'assertions' => number_test_steps,
23
- 'failures' => metrics.stepFailures,
24
- 'tests' => metrics.stepPasses,
25
- 'skipped' => metrics.stepSkipped,
26
- 'time' => TimeDifference.between(tc_end, tc_start).in_seconds
27
- }
28
- end
29
-
30
- def self.test_summary_junit(ts_start_time, ts_end_time, total_metrics)
31
- # output to XML file format for Junit for CI.
32
- builder = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
33
- testsuite_attrs = {
34
- 'classname' => Taf::CMDLine.tests_folder.to_s,
35
- 'name' => Taf::CMDLine.tests_folder.to_s,
36
- 'tests' => total_metrics[0].to_s,
37
- 'failures' => total_metrics[1].to_s,
38
- 'timestamp' => ts_start_time.to_s,
39
- 'skipped' => total_metrics[2].to_s,
40
- 'time' => TimeDifference.between(ts_end_time, ts_start_time)
41
- .in_seconds
42
- }
43
- xml.testsuites(testsuite_attrs) do |testsuites|
44
- @test_step_report_summary2.each do |test_step_report_summary2|
45
- testsuites.testsuite(test_step_report_summary2) do |testsuite|
46
- $testStep_xml[test_step_report_summary2['name']]
47
- .each do |test_step_idx, test_step_xml|
48
- testsuite.testcase(test_step_xml) do |testcase|
49
- failure = $failtestStep_xml
50
- &.[](test_step_report_summary2['name'])&.[](test_step_idx)
51
- skipped = $skiptestStep_xml
52
- &.[](test_step_report_summary2['name'])&.[](test_step_idx)
53
- testcase.failure(failure) if failure
54
- testcase.skipped(skipped) if skipped
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
61
-
62
- # the test suite summary is a XML report generated will be called
63
- # 'report_uuid.xml'
64
- project_id = Taf::JSONParser.project_id.delete(' ')
65
- xml_dir = File.join('Results', project_id)
66
- ts_xml_file = "#{xml_dir}/report_#{SecureRandom.uuid}.xml"
67
-
68
- ts_summary_file_xml = File.open(ts_xml_file, 'w')
69
- ts_summary_file_xml.write builder.to_xml
70
- ts_summary_file_xml.close
71
- end
72
- end
73
- end