testcentricity_web 3.0.19.1 → 3.0.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c45ea6eb096d38d4e1aa1a67f205368764eee7d2
4
- data.tar.gz: fc394d86364280eb0461b782fd62bb0fdbdac112
3
+ metadata.gz: e3b8fe8d95173d598c24d3537c293f21da627eb0
4
+ data.tar.gz: 58de63e3525101ce846970603a55a89323d4d055
5
5
  SHA512:
6
- metadata.gz: b6720ec0848d6be62a9c0536898ddaa2cb2bedee6d8bd118afc0e346a09a5c4c7ea84d6bce7fb13417f9f79a6f512c13a4648dcbad3678c3dbcb06330657b350
7
- data.tar.gz: '05089dabfd5d453850936158229f4a5e572be9f8fb8a6e09d4d1e33f405d411df055b25af04e0a5093d95f5ba162b68955fcfe69b7262dc731fcd98aca3d29ca'
6
+ metadata.gz: 2051e9f2f1c2b0abafa66cac87a325cf4f2c426e4a167028d8cba15cd2098e9a2c0f7f11e17340e5169772e04a1773a8129c72b961999f8b37aa6d89d5fe600e
7
+ data.tar.gz: ccea7de027af0c5655a536d22395ef4987954b202995d66aea1c0a638bde1db9a5d0ca4bb9b4f611acfde8509cd29ddba6ea96183e21f2c8150b43fdb4bccdd2
@@ -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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- testcentricity_web (3.0.19.1)
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.1)
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.3)
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.9.0)
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
- xpath (~> 3.1)
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.0.5)
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.0)
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.5)
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.14.1)
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.1)
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.1.0)
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
- my_automation_project
722
- ├── config
723
- ├── downloads
724
- ├── features
725
- │ ├── step_definitions
726
- └── support
727
- ├── Gemfile
728
- └── README.md
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](https://github.com/appium/ruby_console/blob/master/osx.md)
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/automate/ip-geolocation) to select a country code.
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/automate/ip-geolocation) to select a country code.
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
- unless expected == actual
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
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '3.0.19.1'
2
+ VERSION = '3.0.20'
3
3
  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.19.1
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-10-11 00:00:00.000000000 Z
11
+ date: 2018-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler