testcentricity_web 4.1.3 → 4.1.6

Sign up to get free protection for your applications and to get access to all the features.
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