testcentricity_web 3.2.2 → 3.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 703575dd4ce2e50ae4ebaa52df05d6964d31d4b5
4
- data.tar.gz: cfce94a61c60cc201ccdbc87fc5d51a5cc360bd9
3
+ metadata.gz: b2284e5d9d6076d5c27019db7602b39cb828c368
4
+ data.tar.gz: 92e97559eaf3d043a01e2c66e93b7edf45ef4bc2
5
5
  SHA512:
6
- metadata.gz: f3e0fc855409eeb0d753a951f454516a3e5ff052c1a153f910cb45ddfd7e30d71bd222171f065c99ba3a69f22378e93d191a9e029fefc6be7571eeeccca9e569
7
- data.tar.gz: 988cb81887d817c0b9ab147648e5022541fc19f3310842c5f62b6974fc90bd6d8f1be43fc10cbf8b76a563b621fd54cd771568f8ff10a7919faaabca05da188f
6
+ metadata.gz: 486a0f622f68df7e55192339e349e91be78a5c693713ff1def4ea721dade8fa64c8ca0759e4ce5ddc73364402aeaf03a0cde4a9d8a2ddc0a0a98e711c897e1f3
7
+ data.tar.gz: 5d77ac898a308048cfc0afe9380c57ca268bbc657019567702ae9a12b33edcc715dfa20afd1a69cfdd44cc785557e3f8d6e0a28cab947910335082056e44b196
@@ -2,7 +2,40 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
4
 
5
- ## [3.2.2] - 2019-10-16
5
+ ## [3.2.3] - 29-DEC-2019
6
+
7
+ ### Added
8
+ * Additional methods to support WCAG 2.x accessibility testing and verification:
9
+ * `UIElement.aria_valuemax` method
10
+ * `UIElement.aria_valuemin` method
11
+ * `UIElement.aria_valuenow` method
12
+ * `UIElement.aria_valuetext` method
13
+ * `UIElement.aria_orientation` method
14
+ * `UIElement.aria_keyshortcuts` method
15
+ * `UIElement.aria_roledescription` method
16
+ * `UIElement.aria_autocomplete` method
17
+ * `UIElement.aria_modal?` method
18
+ * `UIElement.aria_busy?` method
19
+ * `UIElement.aria_multiline?` method
20
+ * `UIElement.aria_multiselectable?` method
21
+ * `UIElement.aria_controls` method
22
+ * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of the following
23
+ properties:
24
+ * `aria_valuemax`
25
+ * `aria_valuemin`
26
+ * `aria_valuenow`
27
+ * `aria_valuetext`
28
+ * `aria_orientation`
29
+ * `aria_roledescription`
30
+ * `aria_autocomplete`
31
+ * `aria_modal`
32
+ * `aria_keyshortcuts`
33
+ * `aria_multiline`
34
+ * `aria_multiselectable`
35
+ * `aria_controls`
36
+
37
+
38
+ ## [3.2.2] - 16-OCT-2019
6
39
 
7
40
  ### Added
8
41
  * Added device profiles for iPhone 11, 11 Pro, and 11 Pro Max (iOS 13.1) with Mobile Safari browser.
@@ -11,7 +44,7 @@ All notable changes to this project will be documented in this file.
11
44
  * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `indeterminate` property.
12
45
  * Updated device profiles for iPad Pro 12.9" 3rd Generation (iOS 13.1) with Mobile Safari browser.
13
46
 
14
- ## [3.2.1] - 2019-10-03
47
+ ## [3.2.1] - 03-OCT-2019
15
48
 
16
49
  ### Changed
17
50
  * `CheckBox.visible?`, `CheckBox.disabled?`, and `CheckBox.get_value` methods now work with React and Ember checkboxes with
@@ -19,7 +52,7 @@ proxy elements.
19
52
  * `Radio.visible?`, `Radio.disabled?`, and `Radio.get_value` methods now work with React and Ember radio buttons with
20
53
  proxy elements.
21
54
 
22
- ## [3.2.0] - 2019-07-28
55
+ ## [3.2.0] - 28-JULY-2019
23
56
 
24
57
  ### Added
25
58
  * Added support for connecting to and running your tests on cloud hosted browsers on the LambdaTest cloud platform.
@@ -29,20 +62,20 @@ proxy elements.
29
62
  ### Changed
30
63
  * `Video.ready_state` and `Audio.ready_state` methods now return an Integer result.
31
64
 
32
- ## [3.1.11] - 2019-06-20
65
+ ## [3.1.11] - 20-JUNE-2019
33
66
 
34
67
  ### Added
35
68
  * Added `SelectList.get_group_count` and `SelectList.get_group_headings` methods.
36
69
  * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `groupcount`
37
70
  and `group_headings` properties of `SelectList` objects.
38
71
 
39
- ## [3.1.10] - 2019-05-21
72
+ ## [3.1.10] - 21-MAY-2019
40
73
 
41
74
  ### Fixed
42
75
  * Improved compatibility with React and Chosen select lists.
43
76
 
44
77
 
45
- ## [3.1.9] - 2019-05-16
78
+ ## [3.1.9] - 16-MAY-2019
46
79
 
47
80
  ### Added
48
81
  * Added support for enabling popups when testing on BrowserStack cloud hosted Safari, IE, and Edge browsers.
@@ -51,7 +84,7 @@ and `group_headings` properties of `SelectList` objects.
51
84
  ### Changed
52
85
  * `List.get_list_items` and `List.get_list_item` methods now strip leading and trailing whitespace from returned values.
53
86
 
54
- ## [3.1.8] - 2019-05-08
87
+ ## [3.1.8] - 08-MAY-2019
55
88
 
56
89
  ### Added
57
90
  * Added `Link.href` method.
@@ -63,7 +96,7 @@ and `group_headings` properties of `SelectList` objects.
63
96
  * Updated device profiles for iPhone 7 (iOS 12.2) with Mobile Chrome browser and iPad (iOS 12.2) with Mobile Chrome browser.
64
97
 
65
98
 
66
- ## [3.1.7] - 2019-02-01
99
+ ## [3.1.7] - 01-FEB-2019
67
100
 
68
101
  ### Added
69
102
  * Added `UIElement.title` and `PageObject.title` methods.
@@ -71,21 +104,21 @@ and `group_headings` properties of `SelectList` objects.
71
104
  * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `title` property.
72
105
 
73
106
 
74
- ## [3.1.6] - 2019-01-20
107
+ ## [3.1.6] - 20-JAN-2019
75
108
 
76
109
  ### Added
77
110
  * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `name` property.
78
111
 
79
112
 
80
- ## [3.1.5] - 2019-01-06
113
+ ## [3.1.5] - 06-JAN-2019
81
114
 
82
115
  ### Added
83
116
  * Additional methods to support WCAG 2.x accessibility testing and verification:
84
- * `UIElement.aria_rowcount` method.
85
- * `UIElement.aria_colcount` method.
86
- * `UIElement.aria_sort` method.
87
- * `UIElement.aria_haspopup?` method.
88
- * `UIElement.aria_pressed?` method.
117
+ * `UIElement.aria_rowcount` method.
118
+ * `UIElement.aria_colcount` method.
119
+ * `UIElement.aria_sort` method.
120
+ * `UIElement.aria_haspopup?` method.
121
+ * `UIElement.aria_pressed?` method.
89
122
  * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `aria_rowcount`, `aria_colcount`,
90
123
  `aria_sort`, `aria_pressed`, and `aria_haspopup` properties.
91
124
 
@@ -101,9 +134,9 @@ Video objects at the page level.
101
134
 
102
135
  ### Added
103
136
  * Additional methods to support WCAG 2.x accessibility testing and verification:
104
- * `UIElement.aria_invalid?` method.
105
- * `UIElement.aria_checked?` method.
106
- * `UIElement.aria_readonly?` method.
137
+ * `UIElement.aria_invalid?` method.
138
+ * `UIElement.aria_checked?` method.
139
+ * `UIElement.aria_readonly?` method.
107
140
  * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `aria_invalid`, `aria_checked`,
108
141
  and `aria_readonly` properties.
109
142
 
@@ -131,17 +164,26 @@ and `aria_readonly` properties.
131
164
 
132
165
  ### Added
133
166
  * Adding greater support for WCAG 2.x accessibility testing and verification:
134
- * `UIElement.role` method.
135
- * `UIElement.tabindex` method.
136
- * `UIElement.aria_labelledby` method.
137
- * `UIElement.aria_describedby` method.
138
- * `UIElement.aria_live` method.
139
- * `UIElement.aria_selected?` method.
140
- * `UIElement.aria_hidden?` method.
141
- * `UIElement.aria_expanded?` method.
142
- * `UIElement.aria_required?` method.
143
- * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `role`, `tabindex`, `aria-labelledby`,
144
- `aria-describedby`, `aria-live`, `aria-selected`, `aria-hidden`, `aria-expanded`, and `aria-required` properties.
167
+ * `UIElement.role` method.
168
+ * `UIElement.tabindex` method.
169
+ * `UIElement.aria_labelledby` method.
170
+ * `UIElement.aria_describedby` method.
171
+ * `UIElement.aria_live` method.
172
+ * `UIElement.aria_selected?` method.
173
+ * `UIElement.aria_hidden?` method.
174
+ * `UIElement.aria_expanded?` method.
175
+ * `UIElement.aria_required?` method.
176
+ * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of the following
177
+ properties:
178
+ * `role`
179
+ * `tabindex`
180
+ * `aria-labelledby`
181
+ * `aria-describedby`
182
+ * `aria-live`
183
+ * `aria-selected`
184
+ * `aria-hidden`
185
+ * `aria-expanded`
186
+ * `aria-required`
145
187
 
146
188
 
147
189
  ## [3.0.20] - 2018-11-08
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- testcentricity_web (3.2.2)
4
+ testcentricity_web (3.2.3)
5
5
  appium_lib
6
6
  browserstack-local
7
7
  capybara (>= 3.1, < 4)
@@ -33,7 +33,7 @@ GEM
33
33
  ice_nine (~> 0.11.0)
34
34
  thread_safe (~> 0.3, >= 0.3.1)
35
35
  browserstack-local (1.3.0)
36
- capybara (3.29.0)
36
+ capybara (3.28.0)
37
37
  addressable
38
38
  mini_mime (>= 0.1.3)
39
39
  nokogiri (~> 1.8)
@@ -57,7 +57,7 @@ GEM
57
57
  eventmachine (>= 0.12.0)
58
58
  websocket-driver (>= 0.5.1)
59
59
  ffi (1.11.1)
60
- i18n (1.7.0)
60
+ i18n (1.6.0)
61
61
  concurrent-ruby (~> 1.0)
62
62
  ice_nine (0.11.2)
63
63
  mini_mime (1.0.2)
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2019, Tony Mrozinski
1
+ Copyright (c) 2014-2020, Tony Mrozinski
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/README.md CHANGED
@@ -52,7 +52,6 @@ Or install it yourself as:
52
52
 
53
53
  If you are using Cucumber, you need to require the following in your *env.rb* file:
54
54
 
55
- require 'capybara'
56
55
  require 'capybara/cucumber'
57
56
  require 'testcentricity_web'
58
57
 
@@ -505,7 +504,7 @@ With TestCentricity, all UI elements are based on the **UIElement** class, and i
505
504
  element.get_native_attribute(attrib)
506
505
  element.inspect
507
506
 
508
- **Object Accessibility (A11y) methods:**
507
+ **WAI-ARIA Object Accessibility (A11y) methods:**
509
508
 
510
509
  element.role
511
510
  element.tabindex
@@ -526,6 +525,19 @@ With TestCentricity, all UI elements are based on the **UIElement** class, and i
526
525
  element.aria_sort
527
526
  element.aria_rowcount
528
527
  element.aria_colcount
528
+ element.aria_valuemax
529
+ element.aria_valuemin
530
+ element.aria_valuenow
531
+ element.aria_valuetext
532
+ element.aria_orientation
533
+ element.aria_roledescription
534
+ element.aria_autocomplete
535
+ element.aria_controls
536
+ element.aria_modal?
537
+ element.aria_keyshortcuts
538
+ element.aria_multiline?
539
+ element.aria_multiselectable?
540
+ element.aria_busy?
529
541
 
530
542
  **Waiting methods:**
531
543
 
@@ -776,8 +788,8 @@ Windows. The specified mobile browser's user agent, CSS screen dimensions, and d
776
788
  local Chrome browser instance. You may even specify the emulated device's screen orientation. For locally hosted emulated mobile web browsers,
777
789
  the `WEB_BROWSER` Environment Variable must be set to one of the values from the table below:
778
790
 
779
- `WEB_BROWSER` | `HOST_BROWSER` | **CSS Screen Dimensions** | **Default Orientation** | **OS Version**
780
- ----------------------|----------------------|-----------|----------|---------
791
+ `WEB_BROWSER` | `HOST_BROWSER` | **CSS Screen Dimensions** | **Default Orientation** | **OS Version**
792
+ ----------------------|----------------|---------------------------|-------------------------|---------------
781
793
  `ipad` |`chrome` |1024 x 768 |landscape |iOS 12
782
794
  `ipad_pro` |`chrome` |1366 x 1024 |landscape |iOS 12
783
795
  `ipad_pro_10_5` |`chrome` |1112 x 834 |landscape |iOS 12.2
@@ -945,9 +957,9 @@ for information regarding the specific capabilities.
945
957
  `ALLOW_COOKIES` | [Optional] Allow all cookies (`true` or `false`) - for Safari browsers only
946
958
 
947
959
  If the BrowserStack Local instance is running (`TUNNELING` Environment Variable is `true`), call the`TestCentricity::WebDriverConnect.close_tunnel` method
948
- upon completion of your test suite to stop the Local instance. Place the code shown below in your `env.rb` file.
960
+ upon completion of your test suite to stop the Local instance. Place the code shown below in your `env.rb` or `hooks.rb` file.
949
961
 
950
- # Code to stop BrowserStack Local instance after end of test (if tunneling is enabled)
962
+ # code to stop BrowserStack Local instance after end of test (if tunneling is enabled)
951
963
  at_exit do
952
964
  TestCentricity::WebDriverConnect.close_tunnel if Environ.tunneling
953
965
  end
@@ -1615,10 +1627,10 @@ in landscape orientation:
1615
1627
  NOTE: Appium must be running prior to executing this command
1616
1628
 
1617
1629
 
1618
- The following command specifies that Cucumber will run tests against a remotely hosted Safari web browser running on an OS X Yosemite
1630
+ The following command specifies that Cucumber will run tests against a remotely hosted Safari web browser running on an OS X Mojave
1619
1631
  virtual machine on the BrowserStack service:
1620
1632
 
1621
- cucumber -p bs_safari_yos
1633
+ cucumber -p bs_safari_mojave
1622
1634
 
1623
1635
 
1624
1636
  The following command specifies that Cucumber will run tests against a remotely hosted Mobile Safari web browser on an iPhone 6s Plus in
@@ -1630,14 +1642,14 @@ landscape orientation running on the BrowserStack service:
1630
1642
 
1631
1643
  ## Web Test Automation Framework Implementation
1632
1644
 
1633
- <img src="https://i.imgur.com/Ca6XPCS.jpg" width="1024" alt="Web Framework Overview" title="Web Framework Overview">
1645
+ <img src="https://i.imgur.com/qw48Kkf.jpg" width="1024" alt="Web Framework Overview" title="Web Framework Overview">
1634
1646
 
1635
1647
 
1636
1648
 
1637
1649
 
1638
1650
  ## Copyright and License
1639
1651
 
1640
- TestCentricity™ Framework is Copyright (c) 2014-2019, Tony Mrozinski.
1652
+ TestCentricity™ Framework is Copyright (c) 2014-2020, Tony Mrozinski.
1641
1653
  All rights reserved.
1642
1654
 
1643
1655
  Redistribution and use in source and binary forms, with or without
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '3.2.2'
2
+ VERSION = '3.2.3'
3
3
  end
@@ -173,6 +173,30 @@ module TestCentricity
173
173
  ui_object.aria_rowcount
174
174
  when :aria_colcount
175
175
  ui_object.aria_colcount
176
+ when :aria_valuemax
177
+ ui_object.aria_valuemax
178
+ when :aria_valuemin
179
+ ui_object.aria_valuemin
180
+ when :aria_valuenow
181
+ ui_object.aria_valuenow
182
+ when :aria_valuetext
183
+ ui_object.aria_valuetext
184
+ when :aria_orientation
185
+ ui_object.aria_orientation
186
+ when :aria_keyshortcuts
187
+ ui_object.aria_keyshortcuts
188
+ when :aria_roledescription
189
+ ui_object.aria_roledescription
190
+ when :aria_autocomplete
191
+ ui_object.aria_autocomplete
192
+ when :aria_controls
193
+ ui_object.aria_controls
194
+ when :aria_modal
195
+ ui_object.aria_modal?
196
+ when :aria_multiline
197
+ ui_object.aria_multiline?
198
+ when :aria_multiselectable
199
+ ui_object.aria_multiselectable?
176
200
  else
177
201
  if property.is_a?(Hash)
178
202
  property.each do |key, value|
@@ -690,6 +690,96 @@ module TestCentricity
690
690
  get_attribute('aria-colcount')
691
691
  end
692
692
 
693
+ # Return state of UI object's aria-valuemax property
694
+ #
695
+ # @return [Integer]
696
+ # @example
697
+ # volume_slider.aria_valuemax
698
+ #
699
+ def aria_valuemax
700
+ get_attribute('aria-valuemax')
701
+ end
702
+
703
+ # Return state of UI object's aria-valuemin property
704
+ #
705
+ # @return [Integer]
706
+ # @example
707
+ # volume_slider.aria_valuemin
708
+ #
709
+ def aria_valuemin
710
+ get_attribute('aria-valuemin')
711
+ end
712
+
713
+ # Return state of UI object's aria-valuenow property
714
+ #
715
+ # @return [Integer]
716
+ # @example
717
+ # volume_slider.aria_valuenow
718
+ #
719
+ def aria_valuenow
720
+ get_attribute('aria-valuenow')
721
+ end
722
+
723
+ # Return state of UI object's aria-valuetext property
724
+ #
725
+ # @return [Integer]
726
+ # @example
727
+ # volume_slider.aria_valuetext
728
+ #
729
+ def aria_valuetext
730
+ get_attribute('aria-valuetext')
731
+ end
732
+
733
+ # Return state of UI object's aria-orientation property
734
+ #
735
+ # @return [Integer]
736
+ # @example
737
+ # volume_slider.aria_orientation
738
+ #
739
+ def aria_orientation
740
+ get_attribute('aria-orientation')
741
+ end
742
+
743
+ # Return state of UI object's aria-keyshortcuts property
744
+ #
745
+ # @return [Integer]
746
+ # @example
747
+ # play_button.aria_keyshortcuts
748
+ #
749
+ def aria_keyshortcuts
750
+ get_attribute('aria-keyshortcuts')
751
+ end
752
+
753
+ # Return state of UI object's aria-roledescription property
754
+ #
755
+ # @return [Integer]
756
+ # @example
757
+ # editor_button.aria_roledescription
758
+ #
759
+ def aria_roledescription
760
+ get_attribute('aria-roledescription')
761
+ end
762
+
763
+ # Return state of UI object's aria-autocomplete property
764
+ #
765
+ # @return [Integer]
766
+ # @example
767
+ # email_field.aria_autocomplete
768
+ #
769
+ def aria_autocomplete
770
+ get_attribute('aria-autocomplete')
771
+ end
772
+
773
+ # Return state of UI object's aria-controls property
774
+ #
775
+ # @return [Integer]
776
+ # @example
777
+ # video_menu.aria_controls
778
+ #
779
+ def aria_controls
780
+ get_attribute('aria-controls')
781
+ end
782
+
693
783
  # Return state of UI object's aria-disabled property
694
784
  #
695
785
  # @return [Boolean]
@@ -800,6 +890,50 @@ module TestCentricity
800
890
  state.boolean? ? state : state == 'true'
801
891
  end
802
892
 
893
+ # Return state of UI object's aria-busy property
894
+ #
895
+ # @return [Boolean]
896
+ # @example
897
+ # home_phone_field.aria_busy?
898
+ #
899
+ def aria_busy?
900
+ state = get_attribute('aria-busy')
901
+ state.boolean? ? state : state == 'true'
902
+ end
903
+
904
+ # Return state of UI object's aria-modal property
905
+ #
906
+ # @return [Boolean]
907
+ # @example
908
+ # add_user_modal.aria_modal?
909
+ #
910
+ def aria_modal?
911
+ state = get_attribute('aria-modal')
912
+ state.boolean? ? state : state == 'true'
913
+ end
914
+
915
+ # Return state of UI object's aria-multiline property
916
+ #
917
+ # @return [Boolean]
918
+ # @example
919
+ # description_field.aria_multiline?
920
+ #
921
+ def aria_multiline?
922
+ state = get_attribute('aria-multiline')
923
+ state.boolean? ? state : state == 'true'
924
+ end
925
+
926
+ # Return state of UI object's aria-aria_multiselectable property
927
+ #
928
+ # @return [Boolean]
929
+ # @example
930
+ # channels_select.aria_multiselectable?
931
+ #
932
+ def aria_multiselectable?
933
+ state = get_attribute('aria-aria_multiselectable')
934
+ state.boolean? ? state : state == 'true'
935
+ end
936
+
803
937
  def get_attribute(attrib)
804
938
  obj, type = find_element(visible = false)
805
939
  object_not_found_exception(obj, type)
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.2.2
4
+ version: 3.2.3
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: 2019-10-16 00:00:00.000000000 Z
11
+ date: 2019-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler