testcentricity_web 4.1.3 → 4.1.6

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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +18 -0
  3. data/.simplecov +5 -0
  4. data/CHANGELOG.md +30 -1
  5. data/Gemfile.lock +170 -0
  6. data/README.md +287 -102
  7. data/Rakefile +37 -1
  8. data/config/cucumber.yml +150 -0
  9. data/docker-compose-v3.yml +48 -0
  10. data/features/basic_test_page_css.feature +24 -0
  11. data/features/basic_test_page_xpath.feature +24 -0
  12. data/features/step_definitions/generic_steps.rb.rb +37 -0
  13. data/features/support/env.rb +43 -0
  14. data/features/support/hooks.rb +245 -0
  15. data/features/support/pages/basic_css_test_page.rb +49 -0
  16. data/features/support/pages/basic_test_page.rb +238 -0
  17. data/features/support/pages/basic_xpath_test_page.rb +49 -0
  18. data/features/support/pages/media_page.rb +11 -0
  19. data/features/support/world_pages.rb +15 -0
  20. data/lib/testcentricity_web/data_objects/environment.rb +4 -0
  21. data/lib/testcentricity_web/version.rb +1 -1
  22. data/lib/testcentricity_web/web_core/page_object.rb +13 -6
  23. data/lib/testcentricity_web/web_core/page_objects_helper.rb +41 -8
  24. data/lib/testcentricity_web/web_core/page_section.rb +1 -16
  25. data/lib/testcentricity_web/web_core/webdriver_helper.rb +78 -120
  26. data/lib/testcentricity_web/web_elements/select_list.rb +18 -7
  27. data/lib/testcentricity_web/web_elements/ui_elements_helper.rb +13 -0
  28. data/reports/.keep +1 -0
  29. data/test_site/basic_test_page.html +240 -0
  30. data/test_site/images/Granny.jpg +0 -0
  31. data/test_site/images/Wilder.jpg +0 -0
  32. data/test_site/images/You_Betcha.jpg +0 -0
  33. data/test_site/media/MP4_small.mp4 +0 -0
  34. data/test_site/media/MPS_sample.mp3 +0 -0
  35. data/test_site/media_page.html +33 -0
  36. data/testcentricity_web.gemspec +5 -0
  37. metadata +105 -4
  38. data/test_site/test_page.html +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 343b7e55068d41c269359c5d0700b4d6819e303b50ccaa789ba57175e3fc37c2
4
- data.tar.gz: 2b29b44c8f384d6103505837fb7e550a83b07ee5487088eb8a0f6803f6dce055
3
+ metadata.gz: 98ea25aaf7cff4f07b966b6cac829a2cd6ad3234403e3a01257ff6dd07beaf38
4
+ data.tar.gz: 20082c59c2d9f7c5e69959500b4bc97e10f1dc93309f1ec601acdf7b0cf8d29c
5
5
  SHA512:
6
- metadata.gz: 91e6cb334abe12854b8f7d660a01e63c0c9934bbfeb85177ac2a1c864aaf7c1462b061f36323d8c41fa4bced9964e5009f0e388c4a15fa3fda260e3710fd85e0
7
- data.tar.gz: 5c3da7d79204c0a0311f703508c4738aaac923d6c4feef63737c690754388e64c2e97056949f61856b72e6c1a43915c43b914237a4d3cb1b1b3f48c6b387422d
6
+ metadata.gz: 40ccfaa119abc07f1bb3254cf05e2c3b5d28548b92c65da43faabc3b524af4b074973767e79da7901de09a609ee95af65e3525ea60b49dd3676b88a6956e7478
7
+ data.tar.gz: 1959d24e265fdbb21e088f4192b0de5a86f227d22b0b73870a0ab2ed12430d2b898718d2fcbb4b4330f8ec689bef770d09b3cefa39ec0a0cb75b8ab624078abb
data/.gitignore CHANGED
@@ -18,3 +18,21 @@ Thumbs.db
18
18
 
19
19
  # rspec failure tracking
20
20
  .rspec_status
21
+
22
+ # Ignore test-reports
23
+ reports/*.html
24
+ reports/*.xml
25
+ reports/*.json
26
+ reports/screenshots/
27
+ test-reports
28
+ capybara-*.html
29
+ debug.log
30
+
31
+ BrowserStackLocal
32
+ cbttunnel.jar
33
+
34
+ /.yardoc/
35
+ /local.log
36
+ .run/*.xml
37
+
38
+ echo coverage >> .gitignore
data/.simplecov ADDED
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'simplecov'
4
+
5
+ SimpleCov.start
data/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
4
 
5
+ ## [4.1.6] - 21-MAR-2022
6
+
7
+ ### Fixed
8
+ * `PageObject.verify_page_exists` now works with `page_locator` traits expressed in Xpath format, and no longer fails with a
9
+ `invalid selector: An invalid or illegal selector was specified - Selenium::WebDriver::Error::InvalidSelectorError` error.
10
+
11
+ ### Added
12
+ * `UIElement.required?` method added.
13
+ * `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods now work with the following:
14
+ * `input(type='color')` color picker controls if they are specified as a `textfield` type element.
15
+ * `input(type='range')` slider controls if they are specified as a `range` type element.
16
+ * `input(type='file')` file upload controls if they are specified as a `filefield` type element.
17
+
18
+
19
+ ## [4.1.5] - 15-MAR-2022
20
+
21
+ ### Fixed
22
+ * `SelectList.selected?` now correctly returns selected value for custom `selectlist` controls.
23
+
24
+ ### Updated
25
+ * Updated HTML documentation.
26
+
27
+
28
+ ## [4.1.4] - 09-MAR-2022
29
+
30
+ ### Fixed
31
+ * `Environ.driver` is now correctly set to `:appium` when target test browser is running on iOS or Android simulators or physical devices.
32
+
33
+
5
34
  ## [4.1.3] - 08-MAR-2022
6
35
 
7
36
  ### Fixed
@@ -13,7 +42,7 @@ All notable changes to this project will be documented in this file.
13
42
 
14
43
  ## [4.1.2] - 07-MAR-2022
15
44
 
16
- ### Changed
45
+ ### Updated
17
46
  * Updated HTML documentation.
18
47
 
19
48
 
data/Gemfile.lock ADDED
@@ -0,0 +1,170 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ testcentricity_web (4.1.6)
5
+ appium_lib
6
+ browserstack-local
7
+ capybara (>= 3.1, < 4)
8
+ childprocess
9
+ chronic (= 0.10.2)
10
+ faker
11
+ i18n
12
+ os (~> 1.0)
13
+ selenium-webdriver (>= 4.0, < 5)
14
+ spreadsheet (= 1.1.7)
15
+ test-unit
16
+ virtus
17
+ webdrivers (~> 5.0)
18
+
19
+ GEM
20
+ remote: https://rubygems.org/
21
+ specs:
22
+ addressable (2.8.0)
23
+ public_suffix (>= 2.0.2, < 5.0)
24
+ appium_capybara (2.0.0)
25
+ appium_lib (~> 12.0.0)
26
+ capybara (~> 3.36)
27
+ appium_lib (12.0.0)
28
+ appium_lib_core (~> 5.0.0)
29
+ nokogiri (~> 1.8, >= 1.8.1)
30
+ tomlrb (>= 1.1, < 3.0)
31
+ appium_lib_core (5.0.3)
32
+ faye-websocket (~> 0.11.0)
33
+ selenium-webdriver (~> 4.0)
34
+ axiom-types (0.1.1)
35
+ descendants_tracker (~> 0.0.4)
36
+ ice_nine (~> 0.11.0)
37
+ thread_safe (~> 0.3, >= 0.3.1)
38
+ browserstack-local (1.3.0)
39
+ builder (3.2.4)
40
+ capybara (3.36.0)
41
+ addressable
42
+ matrix
43
+ mini_mime (>= 0.1.3)
44
+ nokogiri (~> 1.8)
45
+ rack (>= 1.6.0)
46
+ rack-test (>= 0.6.3)
47
+ regexp_parser (>= 1.5, < 3.0)
48
+ xpath (~> 3.2)
49
+ childprocess (4.1.0)
50
+ chronic (0.10.2)
51
+ coercible (1.0.0)
52
+ descendants_tracker (~> 0.0.1)
53
+ concurrent-ruby (1.1.9)
54
+ cucumber (7.1.0)
55
+ builder (~> 3.2, >= 3.2.4)
56
+ cucumber-core (~> 10.1, >= 10.1.0)
57
+ cucumber-create-meta (~> 6.0, >= 6.0.1)
58
+ cucumber-cucumber-expressions (~> 14.0, >= 14.0.0)
59
+ cucumber-gherkin (~> 22.0, >= 22.0.0)
60
+ cucumber-html-formatter (~> 17.0, >= 17.0.0)
61
+ cucumber-messages (~> 17.1, >= 17.1.1)
62
+ cucumber-wire (~> 6.2, >= 6.2.0)
63
+ diff-lcs (~> 1.4, >= 1.4.4)
64
+ mime-types (~> 3.3, >= 3.3.1)
65
+ multi_test (~> 0.1, >= 0.1.2)
66
+ sys-uname (~> 1.2, >= 1.2.2)
67
+ cucumber-core (10.1.1)
68
+ cucumber-gherkin (~> 22.0, >= 22.0.0)
69
+ cucumber-messages (~> 17.1, >= 17.1.1)
70
+ cucumber-tag-expressions (~> 4.1, >= 4.1.0)
71
+ cucumber-create-meta (6.0.4)
72
+ cucumber-messages (~> 17.1, >= 17.1.1)
73
+ sys-uname (~> 1.2, >= 1.2.2)
74
+ cucumber-cucumber-expressions (14.0.0)
75
+ cucumber-gherkin (22.0.0)
76
+ cucumber-messages (~> 17.1, >= 17.1.1)
77
+ cucumber-html-formatter (17.0.0)
78
+ cucumber-messages (~> 17.1, >= 17.1.0)
79
+ cucumber-messages (17.1.1)
80
+ cucumber-tag-expressions (4.1.0)
81
+ cucumber-wire (6.2.1)
82
+ cucumber-core (~> 10.1, >= 10.1.0)
83
+ cucumber-cucumber-expressions (~> 14.0, >= 14.0.0)
84
+ descendants_tracker (0.0.4)
85
+ thread_safe (~> 0.3, >= 0.3.1)
86
+ diff-lcs (1.5.0)
87
+ docile (1.4.0)
88
+ eventmachine (1.2.7)
89
+ faker (2.20.0)
90
+ i18n (>= 1.8.11, < 2)
91
+ faye-websocket (0.11.1)
92
+ eventmachine (>= 0.12.0)
93
+ websocket-driver (>= 0.5.1)
94
+ ffi (1.15.5)
95
+ i18n (1.10.0)
96
+ concurrent-ruby (~> 1.0)
97
+ ice_nine (0.11.2)
98
+ matrix (0.4.2)
99
+ mime-types (3.4.1)
100
+ mime-types-data (~> 3.2015)
101
+ mime-types-data (3.2022.0105)
102
+ mini_mime (1.1.2)
103
+ multi_test (0.1.2)
104
+ nokogiri (1.13.3-x86_64-darwin)
105
+ racc (~> 1.4)
106
+ os (1.1.4)
107
+ parallel (1.21.0)
108
+ parallel_tests (3.7.3)
109
+ parallel
110
+ power_assert (2.0.1)
111
+ public_suffix (4.0.6)
112
+ racc (1.6.0)
113
+ rack (2.2.3)
114
+ rack-test (1.1.0)
115
+ rack (>= 1.0, < 3)
116
+ rake (13.0.6)
117
+ redcarpet (3.5.1)
118
+ regexp_parser (2.2.1)
119
+ require_all (1.5.0)
120
+ rexml (3.2.5)
121
+ ruby-ole (1.2.12.2)
122
+ rubyzip (2.3.2)
123
+ selenium-webdriver (4.1.0)
124
+ childprocess (>= 0.5, < 5.0)
125
+ rexml (~> 3.2, >= 3.2.5)
126
+ rubyzip (>= 1.2.2)
127
+ simplecov (0.21.2)
128
+ docile (~> 1.1)
129
+ simplecov-html (~> 0.11)
130
+ simplecov_json_formatter (~> 0.1)
131
+ simplecov-html (0.12.3)
132
+ simplecov_json_formatter (0.1.4)
133
+ spreadsheet (1.1.7)
134
+ ruby-ole (>= 1.0)
135
+ sys-uname (1.2.2)
136
+ ffi (~> 1.1)
137
+ test-unit (3.5.3)
138
+ power_assert
139
+ thread_safe (0.3.6)
140
+ tomlrb (2.0.1)
141
+ virtus (2.0.0)
142
+ axiom-types (~> 0.1)
143
+ coercible (~> 1.0)
144
+ descendants_tracker (~> 0.0, >= 0.0.3)
145
+ webdrivers (5.0.0)
146
+ nokogiri (~> 1.6)
147
+ rubyzip (>= 1.3.0)
148
+ selenium-webdriver (~> 4.0)
149
+ websocket-driver (0.7.5)
150
+ websocket-extensions (>= 0.1.0)
151
+ websocket-extensions (0.1.5)
152
+ xpath (3.2.0)
153
+ nokogiri (~> 1.8)
154
+
155
+ PLATFORMS
156
+ x86_64-darwin-21
157
+
158
+ DEPENDENCIES
159
+ appium_capybara
160
+ bundler
161
+ cucumber
162
+ parallel_tests
163
+ rake
164
+ redcarpet
165
+ require_all
166
+ simplecov (~> 0.18)
167
+ testcentricity_web!
168
+
169
+ BUNDLED WITH
170
+ 2.2.1