itms_automation 2.3 → 2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/itms_automation/auto_util.rb +6 -1
- data/lib/itms_automation/version.rb +1 -1
- data/lib/itms_automation/web_steps_helper.rb +23 -0
- data/project/features/support/hooks.rb +7 -13
- metadata +2 -9
- data/project/config/chrome_headless_options.yaml +0 -1
- data/project/config/chrome_options.yaml +0 -6
- data/project/config/firefox_headless_options.yaml +0 -1
- data/project/config/firefox_options.yaml +0 -1
- data/project/config/ie_options.yaml +0 -1
- data/project/config/remote_options.yaml +0 -6
- data/project/config/safari_options.yaml +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8449e9bd1c31ed115ca78196653a0afce15d4b3ff2120fb8bec34eff820fa448
|
4
|
+
data.tar.gz: e4c592c5a209d0d2e40a9967521b1c518b09f213efc623a632e31dfbd9f44759
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8dfcd9f35bfd4a32f8a03ee064d210a9b4c0e75613cae2eb1989cd15ec992cb5d6960e2553fbefbbcef90e6a4a7d2c03e844637379ef272ebbef6c3b249d9a3
|
7
|
+
data.tar.gz: d1df9cbea128904e93376ab6c4d977434d7436240554849d34eabd392c1ff641ccb9db4eb274ed6eaf11d7ef1a409c833285ade940139fe015e88f77666e23f2
|
@@ -305,7 +305,7 @@ def find_object string_object
|
|
305
305
|
end
|
306
306
|
if foundElements == nil or foundElements.length == 0
|
307
307
|
continue_run_count += 1
|
308
|
-
print "Finding the object..." if continue_run_count == 2
|
308
|
+
print "Finding the object #{string_object}..." if continue_run_count == 2
|
309
309
|
print "." if continue_run_count > 2
|
310
310
|
currentTime = Time.new.to_i
|
311
311
|
puts "" if (currentTime - startTime) >= $wait_time
|
@@ -700,3 +700,8 @@ def find_object_check_ref_object(ref_object, ref_type, target_element)
|
|
700
700
|
|
701
701
|
return false;
|
702
702
|
end
|
703
|
+
|
704
|
+
def get_variable_name_from_text(text)
|
705
|
+
regex = /\${(.*?)}/
|
706
|
+
text[regex, 1]
|
707
|
+
end
|
@@ -5,6 +5,8 @@ require "open-uri"
|
|
5
5
|
def execute_openbrowser(url_site)
|
6
6
|
start = Time.now
|
7
7
|
begin
|
8
|
+
variable_name = get_variable_name_from_text(url_site)
|
9
|
+
url_site = get_var(variable_name) unless variable_name.nil?
|
8
10
|
if url_site == ""
|
9
11
|
print_log("failed", start, __method__, url_site)
|
10
12
|
raise "Error: Null web page URL."
|
@@ -96,6 +98,8 @@ def execute_settext(element, text)
|
|
96
98
|
foundElement = find_object(element)
|
97
99
|
if foundElement != nil
|
98
100
|
begin
|
101
|
+
variable_name = get_variable_name_from_text(text)
|
102
|
+
text = get_var(variable_name) unless variable_name.nil?
|
99
103
|
foundElement.set(text)
|
100
104
|
print_log("passed", start, __method__, element, text)
|
101
105
|
rescue StandardError => e
|
@@ -125,6 +129,8 @@ def switch_to_window_by_title(window_title)
|
|
125
129
|
@window_found = false
|
126
130
|
page.driver.browser.window_handles.each { |handle|
|
127
131
|
page.driver.browser.switch_to.window handle
|
132
|
+
variable_name = get_variable_name_from_text(window_title)
|
133
|
+
window_title = get_var(variable_name) unless variable_name.nil?
|
128
134
|
if page.title == window_title
|
129
135
|
@window_found = true
|
130
136
|
print_log("passed", start, __method__, window_title)
|
@@ -162,6 +168,8 @@ end
|
|
162
168
|
def verify_title(expected_title)
|
163
169
|
start = Time.now
|
164
170
|
begin
|
171
|
+
variable_name = get_variable_name_from_text(expected_title)
|
172
|
+
expected_title = get_var(variable_name) unless variable_name.nil?
|
165
173
|
page_title = page.title
|
166
174
|
expect(page_title).to eq expected_title
|
167
175
|
print_log("passed", start, __method__, expected_title)
|
@@ -175,6 +183,8 @@ end
|
|
175
183
|
def verify_alert_text(text)
|
176
184
|
start = Time.now
|
177
185
|
begin
|
186
|
+
variable_name = get_variable_name_from_text(text)
|
187
|
+
text = get_var(variable_name) unless variable_name.nil?
|
178
188
|
alert = page.driver.browser.switch_to.alert.text
|
179
189
|
expect(alert).to eq text
|
180
190
|
print_log("passed", start, __method__, text)
|
@@ -238,6 +248,8 @@ end
|
|
238
248
|
def execute_javascript(script)
|
239
249
|
start = Time.now
|
240
250
|
begin
|
251
|
+
variable_name = get_variable_name_from_text(script)
|
252
|
+
script = get_var(variable_name) unless variable_name.nil?
|
241
253
|
page.execute_script(script)
|
242
254
|
print_log("passed", start, __method__, script)
|
243
255
|
rescue Exception => e
|
@@ -422,6 +434,8 @@ def verify_element_text(element, value)
|
|
422
434
|
foundElement = find_object(element)
|
423
435
|
if foundElement != nil
|
424
436
|
begin
|
437
|
+
variable_name = get_variable_name_from_text(value)
|
438
|
+
value = get_var(variable_name) unless variable_name.nil?
|
425
439
|
actual_value = foundElement.text()
|
426
440
|
expect(actual_value).to eq value
|
427
441
|
print_log("passed", start, __method__, element, value)
|
@@ -440,6 +454,8 @@ def verify_element_not_has_text(element, value)
|
|
440
454
|
foundElement = find_object(element)
|
441
455
|
if foundElement != nil
|
442
456
|
begin
|
457
|
+
variable_name = get_variable_name_from_text(value)
|
458
|
+
value = get_var(variable_name) unless variable_name.nil?
|
443
459
|
actual_value = foundElement.text()
|
444
460
|
expect(actual_value).not_to eql value
|
445
461
|
print_log("passed", start, __method__, element, value)
|
@@ -458,6 +474,8 @@ def verify_element_value(element, value)
|
|
458
474
|
foundElement = find_object(element)
|
459
475
|
if foundElement != nil
|
460
476
|
begin
|
477
|
+
variable_name = get_variable_name_from_text(value)
|
478
|
+
value = get_var(variable_name) unless variable_name.nil?
|
461
479
|
actual_value = foundElement.value()
|
462
480
|
expect(actual_value).to eq value
|
463
481
|
print_log("passed", start, __method__, element, value)
|
@@ -476,6 +494,8 @@ def verify_element_not_has_value(element, value)
|
|
476
494
|
foundElement = find_object(element)
|
477
495
|
if foundElement != nil
|
478
496
|
begin
|
497
|
+
variable_name = get_variable_name_from_text(value)
|
498
|
+
value = get_var(variable_name) unless variable_name.nil?
|
479
499
|
actual_value = foundElement.value()
|
480
500
|
expect(actual_value).not_to eql value
|
481
501
|
print_log("passed", start, __method__, element, value)
|
@@ -497,6 +517,9 @@ def execute_checkproperty(element, property, negate, value, isSpecialChar = fals
|
|
497
517
|
end
|
498
518
|
foundElement = find_object(element)
|
499
519
|
|
520
|
+
variable_name = get_variable_name_from_text(value)
|
521
|
+
value = get_var(variable_name) unless variable_name.nil?
|
522
|
+
|
500
523
|
check = false
|
501
524
|
if foundElement == nil and value == ""
|
502
525
|
check = true
|
@@ -28,43 +28,37 @@ end
|
|
28
28
|
def getDriver
|
29
29
|
case ENV['BROWSER']
|
30
30
|
when "chrome"
|
31
|
-
@chrome_options = loadYAMLfile('config/chrome_options.yaml')
|
32
31
|
Capybara.register_driver :selenium do |app|
|
33
|
-
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'],:desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(
|
32
|
+
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'],:desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome())
|
34
33
|
end
|
35
34
|
Capybara.current_driver = :selenium
|
36
35
|
when "firefox"
|
37
|
-
@firefox_options = loadYAMLfile('config/firefox_options.yaml')
|
38
36
|
Capybara.register_driver :selenium do |app|
|
39
|
-
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.firefox(
|
37
|
+
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.firefox())
|
40
38
|
end
|
41
39
|
Capybara.current_driver = :selenium
|
42
40
|
when "safari"
|
43
|
-
@safari_options = loadYAMLfile('config/safari_options.yaml')
|
44
41
|
Capybara.register_driver :selenium do |app|
|
45
|
-
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.safari(
|
42
|
+
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.safari())
|
46
43
|
end
|
47
44
|
Capybara.current_driver = :selenium
|
48
45
|
when "ie"
|
49
|
-
@ie_options = loadYAMLfile('config/ie_options.yaml')
|
50
46
|
Capybara.register_driver :selenium do |app|
|
51
|
-
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.internet_explorer(
|
47
|
+
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.internet_explorer())
|
52
48
|
end
|
53
49
|
Capybara.current_driver = :selenium
|
54
50
|
when "chrome_headless"
|
55
|
-
@chrome_headless_options = loadYAMLfile('config/chrome_headless_options.yaml')
|
56
51
|
Capybara.register_driver :selenium do |app|
|
57
|
-
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions:
|
52
|
+
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: { args: %w(headless disable-gpu) }))
|
58
53
|
end
|
59
54
|
Capybara.current_driver = :selenium
|
60
55
|
when "remote"
|
61
|
-
@capabilities = loadYAMLfile('config/remote_options.yaml')
|
62
56
|
Capybara.register_driver :selenium do |app|
|
63
|
-
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL']
|
57
|
+
Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'])
|
64
58
|
end
|
65
59
|
Capybara.current_driver = :selenium
|
66
60
|
else
|
67
|
-
raise "❌
|
61
|
+
raise "❌ ERROR: Unsupported browser: #{ENV['BROWSER']}. Available: chrome || chrome headless || firefox || safari || ie || remote"
|
68
62
|
end
|
69
63
|
unless ENV["SCREEN_RESOLUTION"].nil?
|
70
64
|
screen_resolution = ENV["SCREEN_RESOLUTION"].split("x")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itms_automation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '2.
|
4
|
+
version: '2.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anh Pham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -158,13 +158,6 @@ files:
|
|
158
158
|
- project/Gemfile.lock
|
159
159
|
- project/README.md
|
160
160
|
- project/Rakefile
|
161
|
-
- project/config/chrome_headless_options.yaml
|
162
|
-
- project/config/chrome_options.yaml
|
163
|
-
- project/config/firefox_headless_options.yaml
|
164
|
-
- project/config/firefox_options.yaml
|
165
|
-
- project/config/ie_options.yaml
|
166
|
-
- project/config/remote_options.yaml
|
167
|
-
- project/config/safari_options.yaml
|
168
161
|
- project/cucumber.yml
|
169
162
|
- project/features/TestSuite/WebGUI.feature
|
170
163
|
- project/features/step_definitions/lib_steps/steps_definition.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
args: ["--headless","--disable-gpu",--no-sandbox]
|
@@ -1 +0,0 @@
|
|
1
|
-
browser.download.downloadDir: '/home/seluser'
|
@@ -1 +0,0 @@
|
|
1
|
-
browser.download.downloadDir: '/home/seluser'
|
@@ -1 +0,0 @@
|
|
1
|
-
mobileEmulation: {deviceName: "iPhone X"}
|
@@ -1,6 +0,0 @@
|
|
1
|
-
args: ["--start-maximized","--disable-infobars","--incognito", "--user-agent='Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile /9A334 Safari/7534.48.3'"]
|
2
|
-
prefs: {
|
3
|
-
password_manager_enabled: false,
|
4
|
-
default_content_settings: {popups: 0},
|
5
|
-
content_settings: {pattern_pairs: {'*': {'multiple-automatic-downloads': 1}}}
|
6
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
mobileEmulation: {deviceName: "iPhone X"}
|