Ifd_Automation 2.6 → 2.7
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/generate.rb +21 -3
- data/bin/helper.rb +5 -4
- data/lib/Ifd_Automation/require_libs.rb +9 -6
- data/lib/Ifd_Automation/version.rb +1 -1
- data/lib/helper/{assertion_helpers.rb → assertion_helper.rb} +5 -5
- data/lib/helper/auto_util.rb +164 -0
- data/lib/helper/database_helper.rb +81 -0
- data/lib/helper/file_helper.rb +36 -0
- data/lib/helper/mail_helper.rb +58 -0
- data/lib/helper/rest_helper.rb +91 -0
- data/lib/helper/soap_helper.rb +59 -0
- data/lib/helper/ssh_helper.rb +39 -0
- data/lib/helper/web_steps_helper.rb +447 -0
- data/project/Dockerfile +20 -0
- data/project/Gemfile.lock +176 -0
- data/project/README.md +60 -0
- data/project/cucumber.yml +6 -0
- data/project/docker-compose.yml +7 -0
- data/project/features/TestData/globalData.yml +3 -1
- data/project/features/TestSuite/WebGUI.feature +16 -2
- data/project/features/step_definitions/IFD_Libraries/REST_steps.rb +34 -0
- data/project/features/step_definitions/IFD_Libraries/SOAP_steps.rb +38 -0
- data/project/features/step_definitions/IFD_Libraries/database_steps.rb +44 -0
- data/{lib/Ifd_Automation/dynamic_store_vavue_steps.rb → project/features/step_definitions/IFD_Libraries/dynamic_store_value_steps.rb} +8 -10
- data/project/features/step_definitions/IFD_Libraries/email_steps.rb +36 -0
- data/project/features/step_definitions/IFD_Libraries/file_steps.rb +11 -0
- data/project/features/step_definitions/IFD_Libraries/ssh_steps.rb +20 -0
- data/{lib/Ifd_Automation → project/features/step_definitions/IFD_Libraries}/web_steps.rb +18 -8
- data/project/features/step_definitions/lib_steps/actionwords.rb +14 -10
- data/project/features/step_definitions/lib_steps/steps.rb +6 -0
- data/project/features/step_definitions/repositories/project_object.yml +2 -6
- data/project/features/support/env.rb +18 -18
- data/project/features/support/hooks.rb +22 -59
- metadata +45 -17
- data/lib/Ifd_Automation/REST_steps.rb +0 -90
- data/lib/Ifd_Automation/SOAP_steps.rb +0 -68
- data/lib/Ifd_Automation/database_steps.rb +0 -80
- data/lib/Ifd_Automation/email_steps.rb +0 -72
- data/lib/Ifd_Automation/file_steps.rb +0 -24
- data/lib/Ifd_Automation/ssh_steps.rb +0 -38
- data/lib/helper/auto_utils.rb +0 -67
- data/lib/helper/connection_helpers.rb +0 -15
- data/lib/helper/core.rb +0 -646
- data/lib/helper/mail_helpers.rb +0 -17
- data/lib/helper/web_steps_helpers.rb +0 -176
- data/project/features/step_definitions/lib_steps/test.rb +0 -6
data/lib/helper/mail_helpers.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'mail'
|
2
|
-
# require 'email_spec'
|
3
|
-
# include EmailSpec::Helpers
|
4
|
-
# include EmailSpec::Matcher
|
5
|
-
class Email
|
6
|
-
def self.send_email(to_address, subject, body_email, attachments)
|
7
|
-
include Mail::Matchers
|
8
|
-
# Mail::TestMailer.deliveries.clear
|
9
|
-
Mail.deliver do
|
10
|
-
from "abc@gmail.com"
|
11
|
-
to to_address if to_address
|
12
|
-
subject subject if subject
|
13
|
-
body body_email if body_email
|
14
|
-
add_file attachments if attachments
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,176 +0,0 @@
|
|
1
|
-
require 'net/https'
|
2
|
-
|
3
|
-
# Open Browser with config-able maximize browser option
|
4
|
-
def execute_openbrowser url_site #, redirect
|
5
|
-
begin
|
6
|
-
if $_CFWEB['Maximize Browser'] == true
|
7
|
-
page.driver.browser.manage.window.maximize
|
8
|
-
end
|
9
|
-
rescue StandardError => myStandardError
|
10
|
-
raise "\n>>> Error: #{myStandardError}"
|
11
|
-
end
|
12
|
-
|
13
|
-
if url_site == ""
|
14
|
-
raise "\n>>> Error: Null web page URL."
|
15
|
-
else
|
16
|
-
visit(url_site)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
# Click on element
|
21
|
-
def execute_click element
|
22
|
-
foundElement = find_object(element)
|
23
|
-
if foundElement != nil
|
24
|
-
page.driver.execute_script('window.focus();')
|
25
|
-
startTime = Time.new.to_i
|
26
|
-
begin
|
27
|
-
sleep(0.5)
|
28
|
-
currentTime = Time.new.to_i
|
29
|
-
end while (foundElement.native.enabled? == false and (currentTime - startTime) < $_CFWEB['Wait Time'])
|
30
|
-
page.driver.browser.execute_script("arguments[0].scrollIntoView(true);", foundElement.native)
|
31
|
-
page.driver.browser.action.click(foundElement.native)
|
32
|
-
foundElement.native.send_keys(:return)
|
33
|
-
else
|
34
|
-
raise "\nError >> Not found object: #{element}"
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def double_click(element)
|
39
|
-
foundElement = find_object(element)
|
40
|
-
if foundElement != nil
|
41
|
-
begin
|
42
|
-
page.driver.browser.action.double_click(foundElement.native)
|
43
|
-
rescue StandardError => myStandardError
|
44
|
-
raise "\n>>> Error: #{myStandardError}"
|
45
|
-
end
|
46
|
-
else
|
47
|
-
raise "\nError >> Not found object: #{element}"
|
48
|
-
exit
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
#Enter text to element
|
53
|
-
def execute_settext element, text
|
54
|
-
foundElement = find_object(element)
|
55
|
-
if foundElement != nil
|
56
|
-
begin
|
57
|
-
foundElement.set(text)
|
58
|
-
rescue StandardError => myStandardError
|
59
|
-
raise "\n>>> Error: #{myStandardError}"
|
60
|
-
end
|
61
|
-
else
|
62
|
-
raise "\nError >> Not found object: #{element}"
|
63
|
-
exit
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
# Method to maximize browser
|
68
|
-
def maximize_browser
|
69
|
-
page.driver.browser.manage.window.maximize
|
70
|
-
end
|
71
|
-
|
72
|
-
# Method to switch to window by title
|
73
|
-
def switch_to_window_by_title window_title
|
74
|
-
$previous_window = page.driver.browser.window_handle
|
75
|
-
window_found = false
|
76
|
-
page.driver.browser.window_handles.each{ |handle|
|
77
|
-
page.driver.browser.switch_to.window handle
|
78
|
-
if page.title == window_title
|
79
|
-
window_found = true
|
80
|
-
break
|
81
|
-
end
|
82
|
-
}
|
83
|
-
raise "Window having title \"#{window_title}\" not found" if not window_found
|
84
|
-
end
|
85
|
-
|
86
|
-
# method to scroll page to top or end
|
87
|
-
def scroll_page(to)
|
88
|
-
if to == 'end'
|
89
|
-
page.driver.execute_script('window.scrollTo(0,Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight));')
|
90
|
-
elsif to == 'top'
|
91
|
-
page.driver.execute_script('window.scrollTo(Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight),0);')
|
92
|
-
else
|
93
|
-
raise "Exception : Invalid Direction (only scroll \"top\" or \"end\")"
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
Then /^I should( not)? see page title as (.*)$/ do |present, title|
|
98
|
-
check_title(title, present.empty?)
|
99
|
-
end
|
100
|
-
|
101
|
-
# Method to verify title
|
102
|
-
# param 1 : String : expected title
|
103
|
-
# param 2 : Boolean : test case [true or flase]
|
104
|
-
def check_title(title, test_case)
|
105
|
-
page_title = page.title
|
106
|
-
if test_case
|
107
|
-
if page_title != "#{title}"
|
108
|
-
raise "Page Title Not Matched, Actual Page Title : #{page_title}, Expected Page Title : #{title}"
|
109
|
-
end
|
110
|
-
else
|
111
|
-
if page_title == "#{title}"
|
112
|
-
raise "Page Title Matched, Actual Page Title: #{page_title}"
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
# method to check javascript pop-up alert text
|
118
|
-
def check_alert_text(text)
|
119
|
-
alert = page.driver.browser.switch_to.alert.text
|
120
|
-
if alert != text
|
121
|
-
raise "Text on alert pop up not matched, Actual Text : #{alert}, Expected Text : #{text}"
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
|
126
|
-
# Select
|
127
|
-
def execute_select element, text
|
128
|
-
#select(text, :xpath => element)
|
129
|
-
foundElement = find_object(element)
|
130
|
-
|
131
|
-
if foundElement != nil
|
132
|
-
option_value = page.evaluate_script("$(\"##{foundElement[:id]} option:contains('#{text}')\").val()")
|
133
|
-
page.execute_script("$('##{foundElement[:id]}').val('#{option_value}')")
|
134
|
-
page.execute_script("$('##{foundElement[:id]}').trigger('liszt:updated').trigger('change')")
|
135
|
-
else
|
136
|
-
put_log "\nError >> Not found object: #{element}"
|
137
|
-
exit
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
def execute_mousehoverandclick element
|
142
|
-
foundElement = find_object(element)
|
143
|
-
if foundElement != nil
|
144
|
-
# page.driver.browser.mouse.move_to(foundElement.native, element)
|
145
|
-
# page.driver.browser.mouse.click(foundElement.native)
|
146
|
-
page.driver.browser.action.move_to(foundElement.native, element).click.perform
|
147
|
-
# driver.action.move_to(foundElement.native).click
|
148
|
-
sleep(2)
|
149
|
-
else
|
150
|
-
put_log "\nError >> Not found object: #{element}"
|
151
|
-
end
|
152
|
-
end
|
153
|
-
|
154
|
-
def remove_element_attribute element, attr
|
155
|
-
foundElement = find_object(element)
|
156
|
-
if foundElement != nil
|
157
|
-
page.driver.browser.execute_script("arguments[0].removeAttribute('#{attr}');", foundElement.native)
|
158
|
-
else
|
159
|
-
put_log "\nError >> Not found object: #{element}"
|
160
|
-
end
|
161
|
-
end
|
162
|
-
|
163
|
-
# Set state
|
164
|
-
def execute_setstate element, state
|
165
|
-
foundElement = find_object(element)
|
166
|
-
if foundElement != nil
|
167
|
-
if state.upcase == "TRUE"
|
168
|
-
foundElement.select_option
|
169
|
-
else
|
170
|
-
foundElement.unselect_option
|
171
|
-
end
|
172
|
-
else
|
173
|
-
put_log "\nError >> Not found object: #{element}"
|
174
|
-
exit
|
175
|
-
end
|
176
|
-
end
|