taf 0.3.7 → 0.3.8
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 +4 -4
- data/bin/taf +23 -2
- data/lib/taf.rb +48 -0
- data/lib/taf/browser.rb +103 -0
- data/lib/taf/cmd_line.rb +74 -0
- data/lib/taf/create_directories.rb +53 -0
- data/lib/taf/json_parser.rb +48 -0
- data/lib/taf/junit_report.rb +73 -0
- data/lib/taf/my_log.rb +21 -0
- data/lib/taf/parser.rb +37 -0
- data/lib/taf/report.rb +110 -0
- data/lib/taf/report_summary.rb +56 -0
- data/lib/taf/screenshot.rb +30 -0
- data/lib/taf/test_engine.rb +82 -0
- data/lib/taf/test_steps.rb +38 -0
- data/lib/taf/test_steps/handlers/base.rb +90 -0
- data/lib/taf/test_steps/handlers/base/browser_back.rb +21 -0
- data/lib/taf/test_steps/handlers/base/browser_forward.rb +21 -0
- data/lib/taf/test_steps/handlers/base/browser_open.rb +21 -0
- data/lib/taf/test_steps/handlers/base/browser_quit.rb +21 -0
- data/lib/taf/test_steps/handlers/base/browser_refresh.rb +21 -0
- data/lib/taf/test_steps/handlers/base/capture_alert.rb +22 -0
- data/lib/taf/test_steps/handlers/base/check_box.rb +22 -0
- data/lib/taf/test_steps/handlers/base/check_boxdata.rb +35 -0
- data/lib/taf/test_steps/handlers/base/check_browser_title.rb +21 -0
- data/lib/taf/test_steps/handlers/base/check_logs.rb +25 -0
- data/lib/taf/test_steps/handlers/base/check_screendata.rb +23 -0
- data/lib/taf/test_steps/handlers/base/check_url.rb +22 -0
- data/lib/taf/test_steps/handlers/base/click_button.rb +33 -0
- data/lib/taf/test_steps/handlers/base/execute_system_command.rb +23 -0
- data/lib/taf/test_steps/handlers/base/handle_browser_window.rb +23 -0
- data/lib/taf/test_steps/handlers/base/ipause.rb +21 -0
- data/lib/taf/test_steps/handlers/base/list_all_dropdowns_values.rb +23 -0
- data/lib/taf/test_steps/handlers/base/login.rb +59 -0
- data/lib/taf/test_steps/handlers/base/open_url.rb +22 -0
- data/lib/taf/test_steps/handlers/base/ping_test.rb +27 -0
- data/lib/taf/test_steps/handlers/base/radio_button.rb +24 -0
- data/lib/taf/test_steps/handlers/base/select_dropdown.rb +24 -0
- data/lib/taf/test_steps/handlers/base/send_special_keys.rb +22 -0
- data/lib/taf/test_steps/handlers/base/write_box_data.rb +35 -0
- data/lib/taf/version.rb +5 -0
- metadata +41 -43
- data/lib/functions/handlers.rb +0 -6
- data/lib/functions/handlers/base_handler.rb +0 -91
- data/lib/functions/handlers/browser_back.rb +0 -21
- data/lib/functions/handlers/browser_forward.rb +0 -21
- data/lib/functions/handlers/browser_quit.rb +0 -21
- data/lib/functions/handlers/browser_refresh.rb +0 -21
- data/lib/functions/handlers/capture_alert.rb +0 -22
- data/lib/functions/handlers/check_box.rb +0 -21
- data/lib/functions/handlers/check_boxdata.rb +0 -35
- data/lib/functions/handlers/check_browser_title.rb +0 -21
- data/lib/functions/handlers/check_logs.rb +0 -23
- data/lib/functions/handlers/check_screendata.rb +0 -21
- data/lib/functions/handlers/check_url.rb +0 -22
- data/lib/functions/handlers/click_button.rb +0 -33
- data/lib/functions/handlers/execute_system_command.rb +0 -23
- data/lib/functions/handlers/handle_browser_window.rb +0 -23
- data/lib/functions/handlers/ipause.rb +0 -21
- data/lib/functions/handlers/list_all_dropdowns_values.rb +0 -23
- data/lib/functions/handlers/login.rb +0 -59
- data/lib/functions/handlers/open_url.rb +0 -35
- data/lib/functions/handlers/ping_test.rb +0 -27
- data/lib/functions/handlers/radio_button.rb +0 -22
- data/lib/functions/handlers/select_dropdown.rb +0 -24
- data/lib/functions/handlers/send_special_keys.rb +0 -22
- data/lib/functions/handlers/write_box_data.rb +0 -35
- data/lib/main.rb +0 -31
- data/lib/parser/json_parser.rb +0 -50
- data/lib/parser/parser.rb +0 -49
- data/lib/report/junit_report.rb +0 -74
- data/lib/report/report.rb +0 -116
- data/lib/report/report_summary.rb +0 -53
- data/lib/taf_config.rb +0 -46
- data/lib/utils/browser.rb +0 -98
- data/lib/utils/cmd_line.rb +0 -71
- data/lib/utils/create_directories.rb +0 -50
- data/lib/utils/exceptions.rb +0 -7
- data/lib/utils/logger.rb +0 -21
- data/lib/utils/screenshot.rb +0 -30
- data/lib/utils/test_engine.rb +0 -77
- data/lib/utils/test_steps.rb +0 -38
- data/lib/version.rb +0 -21
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Taf
|
4
|
+
module TestSteps
|
5
|
+
module Handlers
|
6
|
+
# Open URL function.
|
7
|
+
class OpenUrl < Base
|
8
|
+
register :open_url
|
9
|
+
|
10
|
+
def perform
|
11
|
+
url = if ENV[@value]
|
12
|
+
ENV[@value.to_s]
|
13
|
+
else
|
14
|
+
@value
|
15
|
+
end
|
16
|
+
Taf::Browser.b.goto(url)
|
17
|
+
true
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Taf
|
4
|
+
module TestSteps
|
5
|
+
module Handlers
|
6
|
+
# Png Test function.
|
7
|
+
class PingTest < Base
|
8
|
+
register :ping_test
|
9
|
+
|
10
|
+
# TODO: retry every 'x' until timeout reached.
|
11
|
+
def perform
|
12
|
+
check = Net::Ping::HTTP.new(@value)
|
13
|
+
|
14
|
+
check.ping?
|
15
|
+
sleep 5
|
16
|
+
if check.ping?
|
17
|
+
Taf::MyLog.log.info("pinged: #{@value}")
|
18
|
+
return true
|
19
|
+
else
|
20
|
+
Taf::MyLog.log.warn("Failed to ping: #{@value}")
|
21
|
+
return false
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Taf
|
4
|
+
module TestSteps
|
5
|
+
module Handlers
|
6
|
+
# Radio Button function.
|
7
|
+
class RadioButton < Base
|
8
|
+
register :radio_button
|
9
|
+
|
10
|
+
def perform
|
11
|
+
Taf::Browser.b.radio("#{@locate}": @value).wait_until(&:exists?)
|
12
|
+
Taf::Browser.b
|
13
|
+
.radio("#{@locate}": @value, "#{@locate2}": @value2.to_s)
|
14
|
+
.set
|
15
|
+
Taf::MyLog.log.info("Radio button: #{@value2} has been selected")
|
16
|
+
true
|
17
|
+
rescue StandardError
|
18
|
+
Taf::MyLog.log.warn("Radio button: #{@value2} does not exist")
|
19
|
+
false
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Taf
|
4
|
+
module TestSteps
|
5
|
+
module Handlers
|
6
|
+
# Select Dropdown function.
|
7
|
+
class SelectDropdown < Base
|
8
|
+
register :select_dropdown
|
9
|
+
|
10
|
+
def perform
|
11
|
+
ele = Taf::Browser.b.select_list("#{@locate}": @value)
|
12
|
+
|
13
|
+
ele.wait_until(&:exists?)
|
14
|
+
ele.option("#{@locate2}": @value2.to_s).select
|
15
|
+
Taf::MyLog.log.info("Dropdown item: #{@value2} has been selected")
|
16
|
+
true
|
17
|
+
rescue StandardError
|
18
|
+
Taf::MyLog.log.warn("Dropdown item: #{@value2} has NOT been selected")
|
19
|
+
false
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Taf
|
4
|
+
module TestSteps
|
5
|
+
module Handlers
|
6
|
+
# Send a Special Key function.
|
7
|
+
class SendSpecialKeys < Base
|
8
|
+
register :send_special_keys
|
9
|
+
|
10
|
+
def perform
|
11
|
+
Taf::Browser.b.send_keys :"#{@value}"
|
12
|
+
sleep 1
|
13
|
+
Taf::MyLog.log.info("Browser Sent key: :#{@value} successfully")
|
14
|
+
true
|
15
|
+
rescue StandardError
|
16
|
+
Taf::MyLog.log.warn("Browser Failed to Send key: :#{@value}")
|
17
|
+
false
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Taf
|
4
|
+
module TestSteps
|
5
|
+
module Handlers
|
6
|
+
# Write box data function.
|
7
|
+
class WriteBoxdata < Base
|
8
|
+
register :write_box_data
|
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]
|
14
|
+
|
15
|
+
found_box = elms.map do |elm|
|
16
|
+
Taf::Browser.b.send(elm, "#{@locate}": @value).exists?
|
17
|
+
end.compact
|
18
|
+
|
19
|
+
raise 'Multiple matches' if found_box.select { |i| i }.empty?
|
20
|
+
|
21
|
+
index = found_box.index(true)
|
22
|
+
return unless index
|
23
|
+
|
24
|
+
Taf::Browser.b.send(elms[index], "#{@locate}": @value)
|
25
|
+
.wait_until(&:exists?).send_keys txt
|
26
|
+
Taf::MyLog.log.info("Textbox: #{@value} has correct value: #{txt}")
|
27
|
+
true
|
28
|
+
rescue StandardError
|
29
|
+
Taf::MyLog.log.warn("Textbox: #{@value} does not exist")
|
30
|
+
false
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/taf/version.rb
ADDED
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.
|
4
|
+
version: 0.3.8
|
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-
|
11
|
+
date: 2019-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -173,47 +173,45 @@ extensions: []
|
|
173
173
|
extra_rdoc_files: []
|
174
174
|
files:
|
175
175
|
- bin/taf
|
176
|
-
- lib/
|
177
|
-
- lib/
|
178
|
-
- lib/
|
179
|
-
- lib/
|
180
|
-
- lib/
|
181
|
-
- lib/
|
182
|
-
- lib/
|
183
|
-
- lib/
|
184
|
-
- lib/
|
185
|
-
- lib/
|
186
|
-
- lib/
|
187
|
-
- lib/
|
188
|
-
- lib/
|
189
|
-
- lib/
|
190
|
-
- lib/
|
191
|
-
- lib/
|
192
|
-
- lib/
|
193
|
-
- lib/
|
194
|
-
- lib/
|
195
|
-
- lib/
|
196
|
-
- lib/
|
197
|
-
- lib/
|
198
|
-
- lib/
|
199
|
-
- lib/
|
200
|
-
- lib/
|
201
|
-
- lib/
|
202
|
-
- lib/
|
203
|
-
- lib/
|
204
|
-
- lib/
|
205
|
-
- lib/
|
206
|
-
- lib/
|
207
|
-
- lib/
|
208
|
-
- lib/
|
209
|
-
- lib/
|
210
|
-
- lib/
|
211
|
-
- lib/
|
212
|
-
- lib/
|
213
|
-
- lib/
|
214
|
-
- lib/
|
215
|
-
- lib/utils/test_steps.rb
|
216
|
-
- lib/version.rb
|
176
|
+
- lib/taf.rb
|
177
|
+
- lib/taf/browser.rb
|
178
|
+
- lib/taf/cmd_line.rb
|
179
|
+
- lib/taf/create_directories.rb
|
180
|
+
- lib/taf/json_parser.rb
|
181
|
+
- lib/taf/junit_report.rb
|
182
|
+
- lib/taf/my_log.rb
|
183
|
+
- lib/taf/parser.rb
|
184
|
+
- lib/taf/report.rb
|
185
|
+
- lib/taf/report_summary.rb
|
186
|
+
- lib/taf/screenshot.rb
|
187
|
+
- lib/taf/test_engine.rb
|
188
|
+
- lib/taf/test_steps.rb
|
189
|
+
- lib/taf/test_steps/handlers/base.rb
|
190
|
+
- lib/taf/test_steps/handlers/base/browser_back.rb
|
191
|
+
- lib/taf/test_steps/handlers/base/browser_forward.rb
|
192
|
+
- lib/taf/test_steps/handlers/base/browser_open.rb
|
193
|
+
- lib/taf/test_steps/handlers/base/browser_quit.rb
|
194
|
+
- lib/taf/test_steps/handlers/base/browser_refresh.rb
|
195
|
+
- lib/taf/test_steps/handlers/base/capture_alert.rb
|
196
|
+
- lib/taf/test_steps/handlers/base/check_box.rb
|
197
|
+
- lib/taf/test_steps/handlers/base/check_boxdata.rb
|
198
|
+
- lib/taf/test_steps/handlers/base/check_browser_title.rb
|
199
|
+
- lib/taf/test_steps/handlers/base/check_logs.rb
|
200
|
+
- lib/taf/test_steps/handlers/base/check_screendata.rb
|
201
|
+
- lib/taf/test_steps/handlers/base/check_url.rb
|
202
|
+
- lib/taf/test_steps/handlers/base/click_button.rb
|
203
|
+
- lib/taf/test_steps/handlers/base/execute_system_command.rb
|
204
|
+
- lib/taf/test_steps/handlers/base/handle_browser_window.rb
|
205
|
+
- lib/taf/test_steps/handlers/base/ipause.rb
|
206
|
+
- lib/taf/test_steps/handlers/base/list_all_dropdowns_values.rb
|
207
|
+
- lib/taf/test_steps/handlers/base/login.rb
|
208
|
+
- lib/taf/test_steps/handlers/base/open_url.rb
|
209
|
+
- lib/taf/test_steps/handlers/base/ping_test.rb
|
210
|
+
- lib/taf/test_steps/handlers/base/radio_button.rb
|
211
|
+
- lib/taf/test_steps/handlers/base/select_dropdown.rb
|
212
|
+
- lib/taf/test_steps/handlers/base/send_special_keys.rb
|
213
|
+
- lib/taf/test_steps/handlers/base/write_box_data.rb
|
214
|
+
- lib/taf/version.rb
|
217
215
|
homepage: https://github.com/Aperrett/TAF
|
218
216
|
licenses:
|
219
217
|
- MIT
|
data/lib/functions/handlers.rb
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Base Hanfer file to contain all shared login functions
|
4
|
-
module TestSteps
|
5
|
-
require_relative '../../taf_config.rb'
|
6
|
-
module Handlers
|
7
|
-
# All Login functions function.
|
8
|
-
class Base
|
9
|
-
def initialize(step_attributes)
|
10
|
-
@value = step_attributes[:testvalue]
|
11
|
-
@value2 = step_attributes[:testvalue2]
|
12
|
-
@locate = step_attributes[:locate]
|
13
|
-
@locate2 = step_attributes[:locate2]
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.register(name)
|
17
|
-
TestSteps.handlers[name.to_s] = self
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.perform(*args)
|
21
|
-
new(*args).perform
|
22
|
-
end
|
23
|
-
|
24
|
-
def open_url_process(url)
|
25
|
-
Browser.open_browser
|
26
|
-
Browser.b.goto(url)
|
27
|
-
end
|
28
|
-
|
29
|
-
def login_process(b_title, user_elm, pass_elm, user, pass)
|
30
|
-
if Browser.b.title.eql?(b_title)
|
31
|
-
Browser.b.text_field(id: user_elm).wait_until(&:exists?).set user
|
32
|
-
Browser.b.text_field(id: pass_elm).wait_until(&:exists?).set pass
|
33
|
-
button = 'Sign in' || 'Log in'
|
34
|
-
Browser.b.button(value: button).wait_until(&:exists?).click
|
35
|
-
sleep 1
|
36
|
-
else
|
37
|
-
MyLog.log.warn("User: #{user} has failed to log in.")
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def login_check(b_title_sucess, user)
|
42
|
-
if Browser.b.title.eql?(b_title_sucess)
|
43
|
-
MyLog.log.info("User: #{user} has logged in successful.")
|
44
|
-
true
|
45
|
-
else
|
46
|
-
MyLog.log.warn("User: #{user} has failed to log in.")
|
47
|
-
false
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def mem_word_check(user, b_title_sucess)
|
52
|
-
if Browser.b.title.eql?('Memorable word')
|
53
|
-
portal_mem_word(user, b_title_sucess)
|
54
|
-
elsif Browser.b.title.eql?(b_title_sucess)
|
55
|
-
MyLog.log.info("User: #{user} has logged in successful.")
|
56
|
-
true
|
57
|
-
else
|
58
|
-
MyLog.log.warn("User: #{user} has failed to log in.")
|
59
|
-
false
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
def portal_mem_word(user, b_title_sucess)
|
64
|
-
password = ENV['PORTAL_MEM']
|
65
|
-
nums = (1..256).to_a
|
66
|
-
found_mem_nums = nums.each_with_object([]) do |num_val, mem_word|
|
67
|
-
elm_id = "user_memorable_parts_#{num_val}"
|
68
|
-
mem_word.push(num_val) if Browser.b.select(id: elm_id).exist?
|
69
|
-
end.compact
|
70
|
-
|
71
|
-
array_password = password.split('')
|
72
|
-
array_password.map!(&:upcase)
|
73
|
-
|
74
|
-
found_mem_nums.each do |mem_num|
|
75
|
-
char = array_password[(mem_num - 1)]
|
76
|
-
elm_id = "user_memorable_parts_#{mem_num}"
|
77
|
-
Browser.b.select_list(id: elm_id).option(value: char.to_s).select
|
78
|
-
end
|
79
|
-
|
80
|
-
Browser.b.button(value: 'Sign in').wait_until(&:exists?).click
|
81
|
-
if Browser.b.title.eql?(b_title_sucess)
|
82
|
-
MyLog.log.info("User: #{user} has logged in successful.")
|
83
|
-
return true
|
84
|
-
else
|
85
|
-
MyLog.log.warn("User: #{user} has failed to log in.")
|
86
|
-
return false
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Browser Back function.
|
8
|
-
class BrowserBack < Base
|
9
|
-
register :browser_back
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.back
|
13
|
-
MyLog.log.info('Browser navigated back')
|
14
|
-
true
|
15
|
-
rescue StandardError
|
16
|
-
MyLog.log.warn('Browser failed to navigate back')
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Browser Forward function.
|
8
|
-
class BrowserForward < Base
|
9
|
-
register :browser_forward
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.forward
|
13
|
-
MyLog.log.info('Browser navigated forward')
|
14
|
-
true
|
15
|
-
rescue StandardError
|
16
|
-
MyLog.log.warn('Browser failed to navigate forward')
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Browser Quit function.
|
8
|
-
class BrowserQuit < Base
|
9
|
-
register :browser_quit
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.quit
|
13
|
-
MyLog.log.info('Browser has closed successfully')
|
14
|
-
true
|
15
|
-
rescue StandardError
|
16
|
-
MyLog.log.warn('Browser has failed to close')
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Browser Refresh function.
|
8
|
-
class BrowserRefresh < Base
|
9
|
-
register :browser_refresh
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.refresh
|
13
|
-
MyLog.log.info('The Browser has been refreshed')
|
14
|
-
true
|
15
|
-
rescue StandardError
|
16
|
-
MyLog.log.warn('The Browser failed to refresh')
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|