testcentricity_web 3.2.2 → 3.2.3

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: 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