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
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Capture Alert function.
|
8
|
-
class CaptureAlert < Base
|
9
|
-
register :capture_alert
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.div(class: 'alert').exist?
|
13
|
-
alertmsg = Browser.b.div(class: 'alert').text
|
14
|
-
MyLog.log.info("Alert shown: #{alertmsg}")
|
15
|
-
true
|
16
|
-
rescue StandardError
|
17
|
-
MyLog.log.warn('No Alert Found')
|
18
|
-
false
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Check Box function.
|
8
|
-
class CheckBox < Base
|
9
|
-
register :check_box
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.checkbox("#{@locate}": @value).wait_until(&:exists?).click
|
13
|
-
MyLog.log.info("Check box: #{@value} has been selected")
|
14
|
-
true
|
15
|
-
rescue StandardError
|
16
|
-
MyLog.log.warn("Check box: #{@value} does not exist")
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Check Box Data function.
|
8
|
-
class CheckBoxdata < Base
|
9
|
-
register :check_box_data
|
10
|
-
|
11
|
-
def perform
|
12
|
-
elms = %i[textarea text_field iframe]
|
13
|
-
|
14
|
-
found_box = elms.map do |elm|
|
15
|
-
Browser.b.send(elm, "#{@locate}": @value).exists?
|
16
|
-
end.compact
|
17
|
-
|
18
|
-
raise 'Multiple matches' if found_box.select { |i| i }.empty?
|
19
|
-
|
20
|
-
index = found_box.index(true)
|
21
|
-
return unless index
|
22
|
-
|
23
|
-
ele = Browser.b.send(elms[index], "#{@locate}": @value)
|
24
|
-
|
25
|
-
ele.wait_until(&:exists?)
|
26
|
-
(ele.value == @value2)
|
27
|
-
MyLog.log.info("Textbox: #{@value} has correct value: #{value2}")
|
28
|
-
true
|
29
|
-
rescue StandardError
|
30
|
-
MyLog.log.warn("Textbox: #{@value} does not exist")
|
31
|
-
false
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Check Browser Title function.
|
8
|
-
class CheckTitle < Base
|
9
|
-
register :check_browser_title
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.wait_until { Browser.b.title.eql? @value }
|
13
|
-
MyLog.log.info("Browser title: #{@value}")
|
14
|
-
true
|
15
|
-
rescue StandardError
|
16
|
-
MyLog.log.warn("Title not found: #{@value}")
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Check a log file function.
|
8
|
-
class CheckLogs < Base
|
9
|
-
register :check_log_file
|
10
|
-
|
11
|
-
def perform
|
12
|
-
result = system 'egrep -i ' + @value + ' ' + @value2 + ' > ' + output
|
13
|
-
if result == true
|
14
|
-
MyLog.log.info("Data has matched: #{@value} in LogFile: #{@value2}")
|
15
|
-
return true
|
16
|
-
else
|
17
|
-
MyLog.log.warn("Problem finding: #{@value} in LogFile: #{@value2}")
|
18
|
-
return false
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Check Screendata text function.
|
8
|
-
class CheckScreendata < Base
|
9
|
-
register :check_screen_data
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.wait_until { Browser.b.element.text.include? @value }
|
13
|
-
MyLog.log.info("Text found: #{@value}")
|
14
|
-
true
|
15
|
-
rescue StandardError
|
16
|
-
MyLog.log.warn("Text not found: #{@value}")
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Check URL function.
|
8
|
-
class CheckUrl < Base
|
9
|
-
register :check_url
|
10
|
-
|
11
|
-
def perform
|
12
|
-
if Browser.b.url == @value
|
13
|
-
MyLog.log.info("URL: #{@value} is correct")
|
14
|
-
true
|
15
|
-
else
|
16
|
-
MyLog.log.warn("URL: #{@value} is incorrect")
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Click Button function.
|
8
|
-
class ClickButton < Base
|
9
|
-
register :click_button
|
10
|
-
|
11
|
-
def perform
|
12
|
-
elms = %i[button span a div link image h1 h2 h3 h4]
|
13
|
-
|
14
|
-
found_button = elms.map do |elm|
|
15
|
-
Browser.b.send(elm, "#{@locate}": @value).exists?
|
16
|
-
end.compact
|
17
|
-
|
18
|
-
raise 'Multiple matches' if found_button.select { |i| i }.empty?
|
19
|
-
|
20
|
-
index = found_button.index(true)
|
21
|
-
return unless index
|
22
|
-
|
23
|
-
Browser.b.send(elms[index], "#{@locate}": @value)
|
24
|
-
.wait_until(&:exists?).click
|
25
|
-
MyLog.log.info("Button: #{@value} has been selected")
|
26
|
-
true
|
27
|
-
rescue StandardError
|
28
|
-
MyLog.log.warn("Button: #{@value} does not exist")
|
29
|
-
false
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Execute System Command function.
|
8
|
-
class ExecuteSystemCommand < Base
|
9
|
-
register :execute_system_command
|
10
|
-
|
11
|
-
def perform
|
12
|
-
b_result = system @value
|
13
|
-
if b_result == true
|
14
|
-
MyLog.log.info("Cmd has been executed sucessfully #{@value}")
|
15
|
-
return true
|
16
|
-
else
|
17
|
-
MyLog.log.warn("Theres a problem executing command #{@value}")
|
18
|
-
return false
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Handle Browser Window function.
|
8
|
-
class HandleBrowserWindow < Base
|
9
|
-
register :handle_browser_window
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.window(title: @value.to_s).use
|
13
|
-
sleep 3
|
14
|
-
Browser.b.title.eql?(@value.to_s)
|
15
|
-
MyLog.log.info("Window title: #{@value} is correct")
|
16
|
-
true
|
17
|
-
rescue StandardError
|
18
|
-
MyLog.log.warn("Window not found: #{@value}")
|
19
|
-
false
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Pause the test function.
|
8
|
-
class Ipause < Base
|
9
|
-
register :ipause
|
10
|
-
|
11
|
-
def perform
|
12
|
-
sleep(@value.to_i)
|
13
|
-
MyLog.log.info('Wait completed for seconds: ' + @value.to_s)
|
14
|
-
true
|
15
|
-
rescue StandardError
|
16
|
-
MyLog.log.warn('Wait failed for seconds: ' + @value.to_s)
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# List all Dropdown Values function.
|
8
|
-
class ListAllDropdownValues < Base
|
9
|
-
register :list_all_dropdown_values
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.element("#{@locate}": @value).wait_until(&:exists?)
|
13
|
-
Browser.b.select_list("#{@locate}": @value).options.each do |i|
|
14
|
-
MyLog.log.info("List of dropdown for #{@value} are: #{i.text}")
|
15
|
-
return true
|
16
|
-
end
|
17
|
-
rescue StandardError
|
18
|
-
MyLog.log.warn("List dropdown: #{@value} does not exist")
|
19
|
-
false
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Logins function.
|
8
|
-
class Login < Base
|
9
|
-
register :login
|
10
|
-
|
11
|
-
def perform
|
12
|
-
user = @value2
|
13
|
-
user = ENV[user.to_s] if ENV[user.to_s]
|
14
|
-
|
15
|
-
login_user(user)
|
16
|
-
rescue StandardError
|
17
|
-
MyLog.log.error "unable to find login: #{@value}"
|
18
|
-
raise LoginTypeFailed
|
19
|
-
end
|
20
|
-
|
21
|
-
def login_user(user)
|
22
|
-
case @value.downcase
|
23
|
-
when 'portal_login'
|
24
|
-
portal_login(user)
|
25
|
-
when 'sso_login'
|
26
|
-
sso_login(user)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def portal_login(user)
|
33
|
-
url = ENV['PORTAL_URL']
|
34
|
-
pass = ENV['PORTAL_USER_PASS']
|
35
|
-
b_title = 'Log in'
|
36
|
-
b_title_sucess = 'Home'
|
37
|
-
user_elm = 'user_email'
|
38
|
-
pass_elm = 'user_password'
|
39
|
-
|
40
|
-
open_url_process(url)
|
41
|
-
login_process(b_title, user_elm, pass_elm, user, pass)
|
42
|
-
mem_word_check(user, b_title_sucess)
|
43
|
-
end
|
44
|
-
|
45
|
-
def sso_login(user)
|
46
|
-
pass = ENV['SSO_USER_PASS']
|
47
|
-
# b_title = 'Log in to rh-sso'
|
48
|
-
# b_title_sucess = 'RHS-SSO Admin Console'
|
49
|
-
b_title = ''
|
50
|
-
b_title_sucess = ''
|
51
|
-
user_elm = 'username'
|
52
|
-
pass_elm = 'password'
|
53
|
-
|
54
|
-
login_process(b_title, user_elm, pass_elm, user, pass)
|
55
|
-
login_check(b_title_sucess, user)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Open URL function.
|
8
|
-
class OpenUrl < Base
|
9
|
-
register :open_url
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.open_browser
|
13
|
-
|
14
|
-
url = if ENV[@value]
|
15
|
-
ENV[@value.to_s]
|
16
|
-
else
|
17
|
-
@value
|
18
|
-
end
|
19
|
-
Browser.b.goto(url)
|
20
|
-
OpenUrl.check_current_url(url)
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.check_current_url(url)
|
24
|
-
url_check = Browser.b.url
|
25
|
-
if url_check == url
|
26
|
-
MyLog.log.info("Opened URL: #{url}")
|
27
|
-
return true
|
28
|
-
else
|
29
|
-
MyLog.log.warn("URL not open: #{url} - opened #{url_check} instead")
|
30
|
-
return false
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Png Test function.
|
8
|
-
class PingTest < Base
|
9
|
-
register :ping_test
|
10
|
-
|
11
|
-
# TODO: retry every 'x' until timeout reached.
|
12
|
-
def perform
|
13
|
-
check = Net::Ping::HTTP.new(@value)
|
14
|
-
|
15
|
-
check.ping?
|
16
|
-
sleep 5
|
17
|
-
if check.ping?
|
18
|
-
MyLog.log.info("pinged: #{@value}")
|
19
|
-
return true
|
20
|
-
else
|
21
|
-
MyLog.log.warn("Failed to ping: #{@value}")
|
22
|
-
return false
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_handler'
|
4
|
-
|
5
|
-
module TestSteps
|
6
|
-
module Handlers
|
7
|
-
# Radio Button function.
|
8
|
-
class RadioButton < Base
|
9
|
-
register :radio_button
|
10
|
-
|
11
|
-
def perform
|
12
|
-
Browser.b.radio("#{@locate}": @value).wait_until(&:exists?)
|
13
|
-
Browser.b.radio("#{@locate}": @value, "#{@locate2}": @value2.to_s).set
|
14
|
-
MyLog.log.info("Radio button: #{@value2} has been selected")
|
15
|
-
true
|
16
|
-
rescue StandardError
|
17
|
-
MyLog.log.warn("Radio button: #{@value2} does not exist")
|
18
|
-
false
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|