testcentricity_web 3.0.19.1 → 3.0.20
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/CHANGELOG.md +8 -0
- data/Gemfile.lock +14 -12
- data/README.md +17 -11
- data/lib/testcentricity_web/exception_queue_helper.rb +6 -1
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/web_core/page_objects_helper.rb +7 -1
- data/lib/testcentricity_web/web_core/page_sections_helper.rb +7 -1
- data/lib/testcentricity_web/web_core/webdriver_helper.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e3b8fe8d95173d598c24d3537c293f21da627eb0
|
|
4
|
+
data.tar.gz: 58de63e3525101ce846970603a55a89323d4d055
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2051e9f2f1c2b0abafa66cac87a325cf4f2c426e4a167028d8cba15cd2098e9a2c0f7f11e17340e5169772e04a1773a8129c72b961999f8b37aa6d89d5fe600e
|
|
7
|
+
data.tar.gz: ccea7de027af0c5655a536d22395ef4987954b202995d66aea1c0a638bde1db9a5d0ca4bb9b4f611acfde8509cd29ddba6ea96183e21f2c8150b43fdb4bccdd2
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
## [3.0.20] - 2018-11-08
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
* `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods now ignore case and whitespace when verifying text
|
|
9
|
+
captions and values when running tests against Microsoft Edge browsers to accommodate known Edge WebDriver [Issue #11322543](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11322543/).
|
|
10
|
+
* Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to accept optional `integrity_check` parameter.
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## [3.0.19] - 2018-10-10
|
|
6
14
|
|
|
7
15
|
### Added
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
testcentricity_web (3.0.
|
|
4
|
+
testcentricity_web (3.0.20)
|
|
5
5
|
appium_lib
|
|
6
6
|
browserstack-local
|
|
7
7
|
capybara (>= 3.1, < 4)
|
|
@@ -20,25 +20,26 @@ GEM
|
|
|
20
20
|
specs:
|
|
21
21
|
addressable (2.5.2)
|
|
22
22
|
public_suffix (>= 2.0.2, < 4.0)
|
|
23
|
-
appium_lib (9.15.
|
|
23
|
+
appium_lib (9.15.2)
|
|
24
24
|
appium_lib_core (~> 2.0.0)
|
|
25
25
|
nokogiri (~> 1.8, >= 1.8.1)
|
|
26
26
|
tomlrb (~> 1.1)
|
|
27
|
-
appium_lib_core (2.0.
|
|
27
|
+
appium_lib_core (2.0.6)
|
|
28
28
|
faye-websocket (~> 0.10.0)
|
|
29
|
-
selenium-webdriver (~> 3.14.1)
|
|
29
|
+
selenium-webdriver (~> 3.14, >= 3.14.1)
|
|
30
30
|
browserstack-local (1.3.0)
|
|
31
|
-
capybara (3.
|
|
31
|
+
capybara (3.10.1)
|
|
32
32
|
addressable
|
|
33
33
|
mini_mime (>= 0.1.3)
|
|
34
34
|
nokogiri (~> 1.8)
|
|
35
35
|
rack (>= 1.6.0)
|
|
36
36
|
rack-test (>= 0.6.3)
|
|
37
|
-
|
|
37
|
+
regexp_parser (~> 1.2)
|
|
38
|
+
xpath (~> 3.2)
|
|
38
39
|
childprocess (0.9.0)
|
|
39
40
|
ffi (~> 1.0, >= 1.0.11)
|
|
40
41
|
chronic (0.10.2)
|
|
41
|
-
concurrent-ruby (1.
|
|
42
|
+
concurrent-ruby (1.1.3)
|
|
42
43
|
eventmachine (1.2.7)
|
|
43
44
|
faker (1.9.1)
|
|
44
45
|
i18n (>= 0.7)
|
|
@@ -46,7 +47,7 @@ GEM
|
|
|
46
47
|
eventmachine (>= 0.12.0)
|
|
47
48
|
websocket-driver (>= 0.5.1)
|
|
48
49
|
ffi (1.9.25)
|
|
49
|
-
i18n (1.1.
|
|
50
|
+
i18n (1.1.1)
|
|
50
51
|
concurrent-ruby (~> 1.0)
|
|
51
52
|
mini_mime (1.0.1)
|
|
52
53
|
mini_portile2 (2.3.0)
|
|
@@ -55,14 +56,15 @@ GEM
|
|
|
55
56
|
os (1.0.0)
|
|
56
57
|
power_assert (1.1.3)
|
|
57
58
|
public_suffix (3.0.3)
|
|
58
|
-
rack (2.0.
|
|
59
|
+
rack (2.0.6)
|
|
59
60
|
rack-test (1.1.0)
|
|
60
61
|
rack (>= 1.0, < 3)
|
|
61
62
|
rake (11.1.2)
|
|
62
63
|
redcarpet (3.3.4)
|
|
64
|
+
regexp_parser (1.2.0)
|
|
63
65
|
ruby-ole (1.2.12.1)
|
|
64
66
|
rubyzip (1.2.2)
|
|
65
|
-
selenium-webdriver (3.
|
|
67
|
+
selenium-webdriver (3.141.0)
|
|
66
68
|
childprocess (~> 0.5)
|
|
67
69
|
rubyzip (~> 1.2, >= 1.2.2)
|
|
68
70
|
spreadsheet (1.1.7)
|
|
@@ -70,14 +72,14 @@ GEM
|
|
|
70
72
|
test-unit (3.2.8)
|
|
71
73
|
power_assert
|
|
72
74
|
tomlrb (1.2.7)
|
|
73
|
-
webdrivers (3.4.
|
|
75
|
+
webdrivers (3.4.3)
|
|
74
76
|
nokogiri (~> 1.6)
|
|
75
77
|
rubyzip (~> 1.0)
|
|
76
78
|
selenium-webdriver (~> 3.0)
|
|
77
79
|
websocket-driver (0.7.0)
|
|
78
80
|
websocket-extensions (>= 0.1.0)
|
|
79
81
|
websocket-extensions (0.1.3)
|
|
80
|
-
xpath (3.
|
|
82
|
+
xpath (3.2.0)
|
|
81
83
|
nokogiri (~> 1.8)
|
|
82
84
|
|
|
83
85
|
PLATFORMS
|
data/README.md
CHANGED
|
@@ -718,14 +718,15 @@ To maximize a desktop browser window, you set the `BROWSER_SIZE` Environment Var
|
|
|
718
718
|
File download functionality can be tested with locally hosted instances of Chrome or Firefox desktop browsers. Your automation project must include
|
|
719
719
|
a `/downloads` folder at the same level as the `/config` and `/features` folders, as depicted below:
|
|
720
720
|
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
721
|
+
my_automation_project
|
|
722
|
+
├── config
|
|
723
|
+
├── downloads
|
|
724
|
+
├── features
|
|
725
|
+
│ ├── step_definitions
|
|
726
|
+
│ ├── support
|
|
727
|
+
│ └── test_data
|
|
728
|
+
├── Gemfile
|
|
729
|
+
└── README.md
|
|
729
730
|
|
|
730
731
|
|
|
731
732
|
When testing file downloads using a local instance of Firefox, you will need to specify the MIME types of the various file types that your tests will
|
|
@@ -844,7 +845,7 @@ Once your test environment is properly configured, the following **Environment V
|
|
|
844
845
|
### Mobile Chrome or Android browsers on Android Studio Virtual Device emulators
|
|
845
846
|
|
|
846
847
|
You can run your mobile web tests against the mobile Chrome or Android browser on emulated Android devices using Appium and Android Studio on OS X. You
|
|
847
|
-
must install Android Studio, the desired Android version-specific virtual device emulators, and Appium. Refer to [this page](
|
|
848
|
+
must install Android Studio, the desired Android version-specific virtual device emulators, and Appium. Refer to [this page](http://appium.io/docs/en/drivers/android-uiautomator2/index.html)
|
|
848
849
|
for information on configuring Appium to work with the Android SDK. You must also ensure that the `appium_capybara` gem is installed and required as
|
|
849
850
|
described in **section 3.3 (Setup - Using Appium)** above.
|
|
850
851
|
|
|
@@ -898,7 +899,7 @@ for information regarding the specific capabilities.
|
|
|
898
899
|
`BROWSER_SIZE` | [Optional] Specify width, height of browser window
|
|
899
900
|
`RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
|
|
900
901
|
`TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart
|
|
901
|
-
`IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/
|
|
902
|
+
`IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/ip-geolocation) to select a country code.
|
|
902
903
|
`SELENIUM_VERSION` | [Optional] Specify Selenium WebDriver version to use
|
|
903
904
|
`CONSOLE_LOGS` | [Optional] Used to capture browser console logs. Refer to `browserstack.console` capability in chart
|
|
904
905
|
`WD_VERSION` | [Optional] Specify browser-specific WebDriver version to use. Refer to `browserstack.geckodriver`, `browserstack.ie.driver`, and `browserstack.safari.driver` capabilities in chart
|
|
@@ -933,7 +934,7 @@ for information regarding the specific capabilities.
|
|
|
933
934
|
`ORIENTATION` | [Optional] Set to `portrait` or `landscape`
|
|
934
935
|
`RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
|
|
935
936
|
`TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart
|
|
936
|
-
`IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/
|
|
937
|
+
`IP_GEOLOCATION` | [Optional] Specify IP Geolocation. Refer to [IP Geolocation](https://www.browserstack.com/ip-geolocation) to select a country code.
|
|
937
938
|
`CONSOLE_LOGS` | [Optional] Used to capture browser console logs. Refer to `browserstack.console` capability in chart
|
|
938
939
|
|
|
939
940
|
|
|
@@ -1209,6 +1210,11 @@ text with the Subdomain specified on the Grid Configuration Parameters section o
|
|
|
1209
1210
|
bs_mobile: --profile browserstack <%= mobile %>
|
|
1210
1211
|
|
|
1211
1212
|
# BrowserStack OS X desktop browser profiles
|
|
1213
|
+
bs_macos_mojave: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="Mojave"
|
|
1214
|
+
bs_ff_mojave: --profile bs_macos_mojave BS_BROWSER="Firefox"
|
|
1215
|
+
bs_chrome_mojave: --profile bs_macos_mojave BS_BROWSER="Chrome"
|
|
1216
|
+
bs_safari_mojave: --profile bs_macos_mojave BS_BROWSER="Safari"
|
|
1217
|
+
|
|
1212
1218
|
bs_macos_high_sierra: --profile bs_desktop BS_OS="OS X" BS_OS_VERSION="High Sierra"
|
|
1213
1219
|
bs_ff_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Firefox"
|
|
1214
1220
|
bs_chrome_high_sierra: --profile bs_macos_high_sierra BS_BROWSER="Chrome"
|
|
@@ -7,7 +7,12 @@ module TestCentricity
|
|
|
7
7
|
attr_accessor :mru_ui_element
|
|
8
8
|
|
|
9
9
|
def self.enqueue_assert_equal(expected, actual, error_message)
|
|
10
|
-
|
|
10
|
+
is_equal = if %i[edge safari].include?(Environ.browser) && expected.is_a?(String) && actual.is_a?(String)
|
|
11
|
+
expected.downcase.strip == actual.downcase.strip
|
|
12
|
+
else
|
|
13
|
+
expected == actual
|
|
14
|
+
end
|
|
15
|
+
unless is_equal
|
|
11
16
|
enqueue("#{error_message} to be\n '#{expected}'\nbut found\n '#{actual}'")
|
|
12
17
|
enqueue_screenshot
|
|
13
18
|
end
|
|
@@ -729,6 +729,7 @@ module TestCentricity
|
|
|
729
729
|
#
|
|
730
730
|
# @param data [Hash] UI element(s) and associated data to be entered
|
|
731
731
|
# @param wait_time [Integer] wait time in seconds
|
|
732
|
+
# @param integrity_check [Boolean] if TRUE, ensure that text entered into text fields matches what was entered
|
|
732
733
|
# @example
|
|
733
734
|
# field_data = { prefix_select => 'Ms',
|
|
734
735
|
# first_name_field => 'Priscilla',
|
|
@@ -740,7 +741,7 @@ module TestCentricity
|
|
|
740
741
|
# }
|
|
741
742
|
# populate_data_fields(field_data)
|
|
742
743
|
#
|
|
743
|
-
def populate_data_fields(data, wait_time = nil)
|
|
744
|
+
def populate_data_fields(data, wait_time = nil, integrity_check = false)
|
|
744
745
|
timeout = wait_time.nil? ? 5 : wait_time
|
|
745
746
|
data.each do |data_field, data_param|
|
|
746
747
|
unless data_param.blank?
|
|
@@ -762,6 +763,11 @@ module TestCentricity
|
|
|
762
763
|
data_field.set_selected_state(data_param.to_bool)
|
|
763
764
|
when :textfield
|
|
764
765
|
data_field.set("#{data_param}\t")
|
|
766
|
+
if integrity_check && data_field.get_value != data_param
|
|
767
|
+
data_field.set('')
|
|
768
|
+
data_field.send_keys(data_param)
|
|
769
|
+
data_field.send_keys(:tab)
|
|
770
|
+
end
|
|
765
771
|
when :section
|
|
766
772
|
data_field.set(data_param)
|
|
767
773
|
end
|
|
@@ -930,6 +930,7 @@ module TestCentricity
|
|
|
930
930
|
#
|
|
931
931
|
# @param data [Hash] UI element(s) and associated data to be entered
|
|
932
932
|
# @param wait_time [Integer] wait time in seconds
|
|
933
|
+
# @param integrity_check [Boolean] if TRUE, ensure that text entered into text fields matches what was entered
|
|
933
934
|
# @example
|
|
934
935
|
# data = { prefix_select => 'Mr.',
|
|
935
936
|
# first_name_field => 'Ignatious',
|
|
@@ -941,7 +942,7 @@ module TestCentricity
|
|
|
941
942
|
# }
|
|
942
943
|
# populate_data_fields(data)
|
|
943
944
|
#
|
|
944
|
-
def populate_data_fields(data, wait_time = nil)
|
|
945
|
+
def populate_data_fields(data, wait_time = nil, integrity_check = false)
|
|
945
946
|
timeout = wait_time.nil? ? 5 : wait_time
|
|
946
947
|
data.each do |data_field, data_param|
|
|
947
948
|
unless data_param.blank?
|
|
@@ -963,6 +964,11 @@ module TestCentricity
|
|
|
963
964
|
data_field.set_selected_state(data_param.to_bool)
|
|
964
965
|
when :textfield
|
|
965
966
|
data_field.set("#{data_param}\t")
|
|
967
|
+
if integrity_check && data_field.get_value != data_param
|
|
968
|
+
data_field.set('')
|
|
969
|
+
data_field.send_keys(data_param)
|
|
970
|
+
data_field.send_keys(:tab)
|
|
971
|
+
end
|
|
966
972
|
when :section
|
|
967
973
|
data_field.set(data_param)
|
|
968
974
|
end
|
|
@@ -287,7 +287,7 @@ module TestCentricity
|
|
|
287
287
|
capabilities['project'] = ENV['AUTOMATE_PROJECT'] if ENV['AUTOMATE_PROJECT']
|
|
288
288
|
capabilities['build'] = ENV['AUTOMATE_BUILD'] if ENV['AUTOMATE_BUILD']
|
|
289
289
|
|
|
290
|
-
context_message = ENV['TEST_CONTEXT'] ? "#{Environ.test_environment} - #{ENV['TEST_CONTEXT']}" : Environ.test_environment
|
|
290
|
+
context_message = ENV['TEST_CONTEXT'] ? "#{Environ.test_environment.upcase} - #{ENV['TEST_CONTEXT']}" : Environ.test_environment.upcase
|
|
291
291
|
if ENV['PARALLEL']
|
|
292
292
|
thread_num = ENV['TEST_ENV_NUMBER']
|
|
293
293
|
thread_num = 1 if thread_num.blank?
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: testcentricity_web
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.20
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- A.J. Mrozinski
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-11-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|