testcentricity 2.4.3 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +29 -0
  3. data/.rspec +2 -1
  4. data/.rubocop.yml +38 -0
  5. data/.ruby-version +1 -1
  6. data/.simplecov +9 -0
  7. data/.yardopts +3 -0
  8. data/CHANGELOG.md +282 -0
  9. data/CODE_OF_CONDUCT.md +13 -0
  10. data/{LICENSE.txt → LICENSE.md} +3 -4
  11. data/README.md +938 -1384
  12. data/Rakefile +63 -1
  13. data/config/cucumber.yml +145 -0
  14. data/config/locales/en-US.yml +56 -0
  15. data/config/test_data/LOCAL_data.yml +11 -0
  16. data/config/test_data/data.yml +10 -0
  17. data/features/deep_links.feature +26 -0
  18. data/features/login.feature +30 -0
  19. data/features/navigation.feature +31 -0
  20. data/features/step_definitions/generic_steps.rb +72 -0
  21. data/features/support/android/screens/about_screen.rb +11 -0
  22. data/features/support/android/screens/base_app_screen.rb +29 -0
  23. data/features/support/android/screens/checkout_address_screen.rb +17 -0
  24. data/features/support/android/screens/checkout_payment_screen.rb +22 -0
  25. data/features/support/android/screens/login_screen.rb +18 -0
  26. data/features/support/android/screens/products_screen.rb +13 -0
  27. data/features/support/android/screens/saucebot_screen.rb +16 -0
  28. data/features/support/android/screens/webview_screen.rb +13 -0
  29. data/features/support/android/sections/nav_widgets/nav_menu.rb +39 -0
  30. data/features/support/env.rb +61 -0
  31. data/features/support/hooks.rb +135 -0
  32. data/features/support/ios/screens/about_screen.rb +11 -0
  33. data/features/support/ios/screens/base_app_screen.rb +19 -0
  34. data/features/support/ios/screens/checkout_address_screen.rb +17 -0
  35. data/features/support/ios/screens/checkout_payment_screen.rb +22 -0
  36. data/features/support/ios/screens/login_screen.rb +18 -0
  37. data/features/support/ios/screens/products_screen.rb +13 -0
  38. data/features/support/ios/screens/saucebot_screen.rb +16 -0
  39. data/features/support/ios/screens/webview_screen.rb +13 -0
  40. data/features/support/ios/sections/list_items/product_cell_item.rb +13 -0
  41. data/features/support/ios/sections/modals/base_modal.rb +23 -0
  42. data/features/support/ios/sections/modals/logout_modal.rb +6 -0
  43. data/features/support/ios/sections/modals/reset_app_state_modal.rb +6 -0
  44. data/features/support/ios/sections/nav_widgets/nav_bar.rb +31 -0
  45. data/features/support/ios/sections/nav_widgets/nav_menu.rb +41 -0
  46. data/features/support/shared_components/screens/base_app_screen.rb +31 -0
  47. data/features/support/shared_components/screens/checkout_address_screen.rb +17 -0
  48. data/features/support/shared_components/screens/checkout_payment_screen.rb +22 -0
  49. data/features/support/shared_components/screens/login_screen.rb +39 -0
  50. data/features/support/shared_components/screens/saucebot_screen.rb +17 -0
  51. data/features/support/shared_components/screens/webview_screen.rb +12 -0
  52. data/features/support/shared_components/sections/nav_menu.rb +58 -0
  53. data/features/support/world_data.rb +12 -0
  54. data/features/support/world_pages.rb +26 -0
  55. data/lib/testcentricity/app_core/appium_connect_helper.rb +343 -111
  56. data/lib/testcentricity/app_core/screen_object.rb +252 -0
  57. data/lib/testcentricity/app_core/screen_objects_helper.rb +29 -201
  58. data/lib/testcentricity/app_core/{screen_sections_helper.rb → screen_section.rb} +40 -105
  59. data/lib/testcentricity/app_elements/app_element_helper.rb +17 -8
  60. data/lib/testcentricity/app_elements/checkbox.rb +3 -3
  61. data/lib/testcentricity/data_objects/environment.rb +133 -39
  62. data/lib/testcentricity/version.rb +1 -1
  63. data/lib/testcentricity.rb +4 -129
  64. data/reports/.keep +1 -0
  65. data/spec/fixtures/page_object.rb +22 -0
  66. data/spec/fixtures/page_section_object.rb +21 -0
  67. data/spec/fixtures/screen_object.rb +16 -0
  68. data/spec/fixtures/screen_section_object.rb +16 -0
  69. data/spec/spec_helper.rb +28 -9
  70. data/spec/testcentricity/elements/button_spec.rb +18 -0
  71. data/spec/testcentricity/elements/checkbox_spec.rb +28 -0
  72. data/spec/testcentricity/elements/image_spec.rb +13 -0
  73. data/spec/testcentricity/elements/label_spec.rb +18 -0
  74. data/spec/testcentricity/elements/list_spec.rb +13 -0
  75. data/spec/testcentricity/elements/ui_element_spec.rb +72 -0
  76. data/spec/testcentricity/mobile/appium_connect_spec.rb +117 -0
  77. data/spec/testcentricity/mobile/screen_object_spec.rb +63 -0
  78. data/spec/testcentricity/mobile/screen_section_object_spec.rb +56 -0
  79. data/spec/testcentricity/version_spec.rb +7 -0
  80. data/spec/testcentricity/web/browser_spec.rb +41 -0
  81. data/spec/testcentricity/web/local_webdriver_spec.rb +86 -0
  82. data/spec/testcentricity/web/mobile_webdriver_spec.rb +123 -0
  83. data/spec/testcentricity/web/page_object_spec.rb +85 -0
  84. data/spec/testcentricity/web/page_section_object_spec.rb +72 -0
  85. data/testcentricity.gemspec +30 -27
  86. metadata +216 -119
  87. data/.ruby-gemset +0 -1
  88. data/Gemfile.lock +0 -93
  89. data/bin/console +0 -14
  90. data/bin/setup +0 -8
  91. data/lib/devices/devices.yml +0 -352
  92. data/lib/testcentricity/app_core/appium_server.rb +0 -69
  93. data/lib/testcentricity/browser_helper.rb +0 -174
  94. data/lib/testcentricity/data_objects/data_objects_helper.rb +0 -78
  95. data/lib/testcentricity/data_objects/excel_helper.rb +0 -242
  96. data/lib/testcentricity/exception_queue_helper.rb +0 -111
  97. data/lib/testcentricity/utility_helpers.rb +0 -32
  98. data/lib/testcentricity/web_core/drag_drop_helper.rb +0 -15
  99. data/lib/testcentricity/web_core/page_objects_helper.rb +0 -677
  100. data/lib/testcentricity/web_core/page_sections_helper.rb +0 -895
  101. data/lib/testcentricity/web_core/webdriver_helper.rb +0 -588
  102. data/lib/testcentricity/web_elements/button.rb +0 -8
  103. data/lib/testcentricity/web_elements/cell_button.rb +0 -8
  104. data/lib/testcentricity/web_elements/cell_checkbox.rb +0 -38
  105. data/lib/testcentricity/web_elements/cell_element.rb +0 -69
  106. data/lib/testcentricity/web_elements/cell_image.rb +0 -8
  107. data/lib/testcentricity/web_elements/cell_radio.rb +0 -31
  108. data/lib/testcentricity/web_elements/checkbox.rb +0 -100
  109. data/lib/testcentricity/web_elements/file_field.rb +0 -45
  110. data/lib/testcentricity/web_elements/image.rb +0 -34
  111. data/lib/testcentricity/web_elements/label.rb +0 -8
  112. data/lib/testcentricity/web_elements/link.rb +0 -8
  113. data/lib/testcentricity/web_elements/list.rb +0 -100
  114. data/lib/testcentricity/web_elements/list_button.rb +0 -8
  115. data/lib/testcentricity/web_elements/list_checkbox.rb +0 -38
  116. data/lib/testcentricity/web_elements/list_element.rb +0 -61
  117. data/lib/testcentricity/web_elements/list_radio.rb +0 -31
  118. data/lib/testcentricity/web_elements/radio.rb +0 -74
  119. data/lib/testcentricity/web_elements/select_list.rb +0 -208
  120. data/lib/testcentricity/web_elements/siebel_open_ui_helper.rb +0 -15
  121. data/lib/testcentricity/web_elements/table.rb +0 -612
  122. data/lib/testcentricity/web_elements/textfield.rb +0 -114
  123. data/lib/testcentricity/web_elements/ui_elements_helper.rb +0 -532
  124. data/lib/testcentricity/world_extensions.rb +0 -26
  125. data/my_templates/default/method_details/setup.rb +0 -3
  126. data/spec/testcentricity_spec.rb +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2294cef1ce701f1f6fdadf7a258961b89627ffa1
4
- data.tar.gz: 368211a05d669416f5cb1ff3a0e8969a2776d77d
2
+ SHA256:
3
+ metadata.gz: 41e56d7105e8f78fed36005c744aa16235924b070accc2e6b75dbe547a5503a4
4
+ data.tar.gz: 120aa790da5129d8dbd0dd316b03cd4692f0de122b8e8cbf81db9bd44a064506
5
5
  SHA512:
6
- metadata.gz: 9c648b534eabad393ee29b15f92dc1c0b479465fa393b2889d83184bc54956f58c0144939d0210d98779aa5b9cff2387694ffff420bc9a860422816eae33b3bc
7
- data.tar.gz: 416366d003005ee6baa9ab209fff495151d2c0de2fe3d1b4dc47410e7685f28247e588327057932c248470017b431e4c3c41af26ef28bd953d81874375b2beac
6
+ metadata.gz: a86f413b8aed68b37c37e4f1a6e68c1a702b5b314775a641ed588fae53c0903848b07ce250ff6a8cee72e4439ff243aee6f7caeb8eb6ece2135d593ef211e82f
7
+ data.tar.gz: 670f14489463c563c9f3b7693b477c2981d7191af904955a2615b9790183c13bf855b72b8f6bd00f8f6b7dfd2ab41cae78b7d808be3644934849da3f44f395c6
data/.gitignore CHANGED
@@ -1,3 +1,12 @@
1
+ # OSX folder stuff
2
+ .DS_Store
3
+ Thumbs.db
4
+
5
+ #IDE project files
6
+ .idea/
7
+ .settings
8
+ .project
9
+
1
10
  /.bundle/
2
11
  /.yardoc
3
12
  /_yardoc/
@@ -6,6 +15,26 @@
6
15
  /pkg/
7
16
  /spec/reports/
8
17
  /tmp/
18
+ Gemfile*.lock
19
+ *gem
9
20
 
10
21
  # rspec failure tracking
11
22
  .rspec_status
23
+
24
+ # Ignore test-reports
25
+ reports/*.html
26
+ reports/*.xml
27
+ reports/*.json
28
+ reports/screenshots/
29
+ test-reports
30
+ capybara-*.html
31
+ debug.log
32
+
33
+ BrowserStackLocal
34
+ cbttunnel.jar
35
+
36
+ /.yardoc/
37
+ /local.log
38
+ .run/*.xml
39
+
40
+ echo coverage >> .gitignore
data/.rspec CHANGED
@@ -1,3 +1,4 @@
1
- --format documentation
1
+ # General configuration options
2
2
  --color
3
3
  --require spec_helper
4
+ --format documentation
data/.rubocop.yml ADDED
@@ -0,0 +1,38 @@
1
+ # See full list of defaults here: https://github.com/bbatsov/rubocop/blob/master/config/default.yml
2
+ # To see all cops used see here: https://github.com/bbatsov/rubocop/blob/master/config/enabled.yml
3
+
4
+ Documentation:
5
+ Enabled: false
6
+
7
+ AccessorMethodName:
8
+ Enabled: false
9
+
10
+ TrivialAccessors:
11
+ Enabled: false
12
+
13
+ RedundantReturn:
14
+ Enabled: false
15
+
16
+ Metrics/ModuleLength:
17
+ Enabled: false
18
+
19
+ Metrics/ClassLength:
20
+ Enabled: false
21
+
22
+ Metrics/LineLength:
23
+ Enabled: false
24
+
25
+ Metrics/MethodLength:
26
+ Enabled: false
27
+
28
+ Style/RegexpLiteral:
29
+ Enabled: false
30
+
31
+ Style/HashSyntax:
32
+ Enabled: false
33
+
34
+ Metrics/CyclomaticComplexity:
35
+ Enabled: false
36
+
37
+ Layout/EmptyLines:
38
+ Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.3.0
1
+ ruby-2.7.5
data/.simplecov ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'simplecov'
4
+
5
+ SimpleCov.start do
6
+ add_filter '/features/'
7
+ add_filter '/spec/'
8
+ merge_timeout 3600
9
+ end
data/.yardopts ADDED
@@ -0,0 +1,3 @@
1
+ --markup markdown
2
+ --markup-provider redcarpet
3
+ --no-private - README.md CHANGELOG.md LICENSE.md
data/CHANGELOG.md ADDED
@@ -0,0 +1,282 @@
1
+ # CHANGELOG
2
+ All notable changes to this project will be documented in this file.
3
+
4
+
5
+ ## [3.0.2] - 26-MAY-2022
6
+
7
+ ### Fixed
8
+ * Added runtime dependencies `curb` and `json` to gemspec.
9
+ * Fixed CHANGELOG url in gemspec.
10
+
11
+
12
+ ## [3.0.1] - 26-MAY-2022
13
+
14
+ ### Added
15
+ * Added support for testing on cloud hosted iOS and Android simulators and real devices on BrowserStack, SauceLabs, and TestingBot services.
16
+ * `ScreenObject.load_page` method adds support for using deep links to directly load screens/pages of native apps.
17
+ * `AppiumConnect.upload_app` method adds support for uploading native apps to BrowserStack and TestingBot services prior to running tests.
18
+
19
+ ### Updated
20
+ * Incorporated all changes from the [TestCentricity™ Web gem](https://rubygems.org/gems/testcentricity_web) version 4.2.2, which is
21
+ bundled with this gem.
22
+
23
+ ### Changed
24
+ * Ruby version 2.7 or greater is required.
25
+
26
+
27
+ ## [2.4.3] - 2018-04-11
28
+
29
+ ### Changed
30
+ * Updated device profiles for iPhone 7 (iOS 11) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
31
+
32
+
33
+ ## [2.4.1] - 2018-03-27
34
+
35
+ ### Added
36
+ * Added device profiles for iPad (iOS 10) with MS Edge browser.
37
+
38
+
39
+ ## [2.4.0] - 2018-03-25
40
+
41
+ ### Changed
42
+ * Updated `TestCentricity::WebDriverConnect.initialize_web_driver` method to read the `APP_FULL_RESET`, `APP_NO_RESET`, and `NEW_COMMAND_TIMEOUT` Environment
43
+ Variables and set the corresponding `fullReset`, `noReset`, and `newCommandTimeout` Appium capabilities for iOS and Android physical devices and simulators.
44
+ Also reads the `WDA_LOCAL_PORT` Environment Variable and sets the `wdaLocalPort` Appium capability for iOS physical devices only.
45
+
46
+
47
+ ## [2.3.19] - 2018-03-14
48
+
49
+ ### Fixed
50
+ * Fixed device profile for `android_phone` - Generic Android Phone.
51
+
52
+
53
+ ## [2.3.18] - 2018-03-11
54
+
55
+ ### Changed
56
+ * Updated `SelectList.define_list_elements` method to accept value for `:list_trigger` element.
57
+ * Updated `SelectList.choose_option` to respect `:list_item` value and to click on `:list_trigger` element, if one is specified.
58
+ * Updated `PageSection` and `PageObject` UI element object declaration methods to no longer use `class_eval` pattern.
59
+ * Updated device profiles for iPhone 7 (iOS 10) with Chrome browser and iPad (iOS 10) with Chrome browser.
60
+
61
+ ### Fixed
62
+ * Fixed `SelectList.choose_option` to also accept `:text`, `:value`, and `:index` option hashes across all types of select list objects.
63
+
64
+
65
+ ## [2.3.17] - 2018-03-08
66
+
67
+ ### Added
68
+ * Added `List.wait_until_item_count_is` and `List.wait_until_item_count_changes` methods.
69
+
70
+ ### Changed
71
+ * `UIElement.wait_until_value_is` and `List.wait_until_item_count_is` methods now accept comparison hash.
72
+
73
+
74
+ ## [2.3.16] - 2018-03-04
75
+
76
+ ### Added
77
+ * Added `PageSection.double_click`, `PageObject.right_click`, and `PageObject.send_keys` methods.
78
+
79
+
80
+ ## [2.3.15] - 2018-03-02
81
+
82
+ ### Added
83
+ * Added `PageObject.wait_until_exists` and `PageObject.wait_until_gone` methods.
84
+
85
+ ### Fixed
86
+ * Fixed bug in `UIElement.get_object_type` method that could result in a `NoMethodError obj not defined` error.
87
+ * Fixed bug in `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods that failed to enqueue errors when UI elements could not be found.
88
+
89
+
90
+ ## [2.3.14] - 2018-02-28
91
+
92
+ ### Changed
93
+ * Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser.
94
+
95
+
96
+ ## [2.3.13] - 2018-02-09
97
+
98
+ ### Added
99
+ * Added `AppiumServer.start`, `AppiumServer.running?`, and `AppiumServer.stop` methods for starting and stopping the Appium Server prior to executing tests on
100
+ iOS physical devices or simulators, or Android virtual device emulators.
101
+
102
+
103
+ ## [2.3.12] - 2018-02-07
104
+
105
+ ### Added
106
+ * Added `Environ.is_simulator?` and `Environ.is_web?` methods.
107
+
108
+
109
+ ## [2.3.11] - 2018-02-02
110
+
111
+ ### Added
112
+ * Added support for running tests in Mobile Safari browser on physical iOS devices.
113
+
114
+ ### Changed
115
+ * Updated device profiles for iPhone 7 (iOS 10) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
116
+
117
+
118
+ ## [2.3.10] - 2018-01-31
119
+
120
+ ### Added
121
+ * Added support for running tests in mobile Chrome or Android browsers on Android Studio virtual device emulators.
122
+ * Added `displayed?`, `get_all_items_count`, and `get_all_list_items` methods to `PageSection` class.
123
+ * Added `get_all_items_count`, and `get_all_list_items` methods to `List` class.
124
+
125
+
126
+ ## [2.3.9] - 2018-01-27
127
+
128
+ ### Changed
129
+ * Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to accept optional `wait_time` parameter.
130
+ * Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser, iPhone 7 (iOS 10) with Chrome browser, and iPhone 7 (iOS 10) with Firefox browser.
131
+ * Updated device profiles for iPad (iOS 10) with Chrome browser and iPad (iOS 10) with Firefox browser.
132
+
133
+
134
+ ## [2.3.8] - 2018-01-23
135
+
136
+ ### Fixed
137
+ * Fixed locator resolution for **Indexed PageSection Objects**.
138
+
139
+
140
+ ## [2.3.7] - 2018-01-18
141
+
142
+ ### Added
143
+ * Added `width`, `height`, `x`, `y`, and `displayed?` methods to `UIElement` class.
144
+
145
+
146
+ ## [2.3.6] - 2017-12-21
147
+
148
+ ### Added
149
+ * Added `TextField.clear` method for deleting the contents of text fields. This method should trigger the `onchange` event for the associated text field.
150
+
151
+ ### Changed
152
+ * `TextField.clear` method now works with most `number` type fields.
153
+
154
+
155
+ ## [2.3.5] - 2017-12-19
156
+
157
+ ### Changed
158
+ * Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to be compatible with Redactor editor fields.
159
+ * Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser, iPhone 7 (iOS 10) with Chrome browser, and iPhone 7 (iOS 10) with Firefox browser.
160
+
161
+
162
+ ## [2.3.4] - 2017-12-12
163
+
164
+ ### Fixed
165
+ * Fixed bug in `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods that prevented deletion of data in number type textfields
166
+ and textarea controls.
167
+
168
+
169
+ ## [2.3.3] - 2017-12-09
170
+
171
+ ### Added
172
+ * Added device profile for iPhone 7 (iOS 10) with MS Edge browser.
173
+
174
+ ### Fixed
175
+ * Corrected device profiles for iPad (iOS 10) with Mobile Chrome browser and iPad (iOS 10) with Mobile Firefox browser.
176
+
177
+
178
+ ## [2.3.1] - 2017-12-07
179
+
180
+ ### Added
181
+ * When testing using remotely hosted browsers on the BrowserStack service, the BrowserStack Local instance is automatically started if the `TUNNELING`
182
+ Environment Variable is set to `true`. `Environ.tunneling` will be set to true if the BrowserStack Local instance is succesfully started.
183
+ * Added `TestCentricity::WebDriverConnect.close_tunnel` method to close BrowserStack Local instance when Local testing is enabled. Refer to the
184
+ **Remotely hosted desktop and mobile web browsers** section for information on usage.
185
+
186
+
187
+ ## [2.2.1] - 2017-11-29
188
+
189
+ ### Changed
190
+ * `SelectList.choose_option` method now accepts index values for Chosen list objects.
191
+
192
+
193
+ ## [2.2.0] - 2017-11-29
194
+
195
+ ### Changed
196
+ * CSS selectors or XPath expressions may be used as locators for all types of **UI Elements**, including tables.
197
+
198
+
199
+ ## [2.1.10] - 2017-11-14
200
+
201
+ ### Added
202
+ * Added device profiles for iPhone 7 (iOS 10) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
203
+
204
+
205
+ ## [2.1.9] - 2017-11-13
206
+
207
+ ### Fixed
208
+ * Fixed bug in `SelectList.choose_option`, `SelectList.get_options`, `SelectList.get_option_count`, and `SelectList.get_selected_option` methods which
209
+ did not recognize grouped option in Chosen list objects.
210
+
211
+
212
+ ## [2.1.8] - 2017-11-09
213
+
214
+ ### Added
215
+ * Added `PageSection.verify_list_items` method for **Indexed PageSection Objects**.
216
+
217
+
218
+ ## [2.1.7] - 2017-11-07
219
+
220
+ ### Changed
221
+ * Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to use backspace characters to delete contents of a textfield
222
+ instead of using `clear`, which was preventing `onchange` JavaScript events from being triggered in some browsers.
223
+
224
+
225
+ ## [2.1.6] - 2017-10-31
226
+
227
+ ### Fixed
228
+ * Fixed bug in `TestCentricity::WebDriverConnect.set_webdriver_path` method that was failing to set the path to the appropriate **chromedriver** file for OS X
229
+ and Windows.
230
+
231
+
232
+ ## [2.1.5] - 2017-10-28
233
+
234
+ ### Added
235
+ * Added `get_min`, `get_max`, and `get_step` methods to `TextField` class.
236
+ * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `min`, `max`, and `step` attributes
237
+ for textfields.
238
+
239
+ ### Fixed
240
+ * Fixed Chrome and Firefox support for setting browser language via the `LOCALE` Environment Variable. This capability now works for emulated mobile
241
+ browsers hosted in a local instance of Chrome or Firefox.
242
+
243
+
244
+ ## [2.1.4] - 2017-10-24
245
+
246
+ ### Added
247
+ * Added suppression of the Info Bar that displays "Chrome is being controlled by automated test software" on locally hosted instances of the Chrome browser.
248
+
249
+
250
+ ## [2.1.3] - 2017-10-17
251
+
252
+ ### Added
253
+ * Added support for "tiling" or cascading multiple browser windows when the `BROWSER_TILE` and `PARALLEL` Environment Variables are set to true. For each
254
+ concurrent parallel thread being executed, the position of each browser will be offset by 100 pixels right and 100 pixels down. For parallel test execution,
255
+ use the [parallel_tests gem](https://rubygems.org/gems/parallel_tests) to decrease overall test execution time.
256
+
257
+
258
+ ## [2.1.2] - 2017-10-01
259
+
260
+ ### Added
261
+ * Added device profiles for Microsoft Lumia 950, Blackberry Leap, Blackberry Passport, and Kindle Fire HD 10
262
+ * Added ability to set browser language support via the `LOCALE` Environment Variable for local instances of Chrome browsers
263
+
264
+
265
+ ## [2.1.0] - 2017-09-23
266
+
267
+ ### Added
268
+ * Added device profiles for iPhone 8, iPhone 8 Plus, iPhone X devices running iOS 11
269
+ * Added device profile for iPad Pro 10.5" with iOS 11
270
+
271
+ ### Changed
272
+ * Updated iPhone 7 and iPhone 7 Plus profiles to iOS 10
273
+ * Updated Google Pixel and Google Pixel XL profiles to Android 8
274
+ * Added device profiles for iPhone 7 (iOS 10) with Mobile Chrome browser and iPad (iOS 10) with Mobile Chrome browser
275
+ * The `TestCentricity::WebDriverConnect.initialize_web_driver` method now sets the `Environ` object to the correct device connection states for local and
276
+ cloud hosted browsers.
277
+
278
+ ### Fixed
279
+ * The `TestCentricity::WebDriverConnect.initialize_web_driver` method no longer calls `initialize_browser_size` when running tests against cloud hosted
280
+ mobile web browser, which was resulting in Appium throwing exceptions for unsupported method calls.
281
+ * The `TestCentricity::WebDriverConnect.set_webdriver_path` method now correctly sets the path for Chrome webDrivers when the `HOST_BROWSER` Environment
282
+ Variable is set to `chrome`. Tests against locally hosted emulated mobile web browser running on a local instance of Chrome will now work correctly.
@@ -0,0 +1,13 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4
+
5
+ We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
6
+
7
+ Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
8
+
9
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
10
+
11
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
12
+
13
+ This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
@@ -1,15 +1,14 @@
1
- TestCentricity (tm) Framework is Copyright (c) 2016-2018, Tony Mrozinski
1
+ Copyright (c) 2014-2022, Tony Mrozinski
2
2
  All rights reserved.
3
3
 
4
-
5
4
  Redistribution and use in source and binary forms, with or without
6
5
  modification, are permitted provided that the following conditions are met:
7
6
 
8
7
  1. Redistributions of source code must retain the above copyright notice,
9
- this list of conditions, and the following disclaimer.
8
+ this list of conditions and the following disclaimer.
10
9
 
11
10
  2. Redistributions in binary form must reproduce the above copyright
12
- notice, this list of conditions, and the following disclaimer in the
11
+ notice, this list of conditions and the following disclaimer in the
13
12
  documentation and/or other materials provided with the distribution.
14
13
 
15
14
  3. Neither the name of the copyright holder nor the names of its contributors