itms_automation 2.3 → 2.4
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/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"}
|