testcentricity 2.4.3 → 3.0.0

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 +275 -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 +28 -27
  86. metadata +196 -127
  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: e7997f9cb3d5ae132dd7d30ee0b651b458ef87313afc0ed831c9eb8e358da0be
4
+ data.tar.gz: bd044e7df3c9be8ca66634878fcec4441a1b97f984e2c90364ae8cd921aec8e7
5
5
  SHA512:
6
- metadata.gz: 9c648b534eabad393ee29b15f92dc1c0b479465fa393b2889d83184bc54956f58c0144939d0210d98779aa5b9cff2387694ffff420bc9a860422816eae33b3bc
7
- data.tar.gz: 416366d003005ee6baa9ab209fff495151d2c0de2fe3d1b4dc47410e7685f28247e588327057932c248470017b431e4c3c41af26ef28bd953d81874375b2beac
6
+ metadata.gz: 26ced1a8db823e5babdcf7ab440aff9654b1ada1ee2eb0f38065659ba99533b4fdb90ecd5c8f7cbbcdb69de82d334242f8519e2ac557fd9ffbb8700f81383e9b
7
+ data.tar.gz: 19c1ed6c73056d9c67a638e90f7d8fc0f2505176adf0265e24bc18e885d18edbbe63ed43b6a0e20d0b81a89a4e08f2a952e5f80aac406b5d4f7b2cca049a2e0b
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,275 @@
1
+ # CHANGELOG
2
+ All notable changes to this project will be documented in this file.
3
+
4
+
5
+ ## [3.0.0] - 26-MAY-2022
6
+
7
+ ### Added
8
+ * Added support for testing on cloud hosted iOS and Android simulators and real devices on BrowserStack, SauceLabs, and TestingBot services.
9
+ * `ScreenObject.load_page` method adds support for using deep links to directly load screens/pages of native apps.
10
+ * `AppiumConnect.upload_app` method adds support for uploading native apps to BrowserStack and TestingBot services prior to running tests.
11
+
12
+ ### Updated
13
+ * Incorporated all changes from the [TestCentricity™ Web gem](https://rubygems.org/gems/testcentricity_web) version 4.2.2, which is
14
+ bundled with this gem.
15
+
16
+ ### Changed
17
+ * Ruby version 2.7 or greater is required.
18
+
19
+
20
+ ## [2.4.3] - 2018-04-11
21
+
22
+ ### Changed
23
+ * Updated device profiles for iPhone 7 (iOS 11) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
24
+
25
+
26
+ ## [2.4.1] - 2018-03-27
27
+
28
+ ### Added
29
+ * Added device profiles for iPad (iOS 10) with MS Edge browser.
30
+
31
+
32
+ ## [2.4.0] - 2018-03-25
33
+
34
+ ### Changed
35
+ * Updated `TestCentricity::WebDriverConnect.initialize_web_driver` method to read the `APP_FULL_RESET`, `APP_NO_RESET`, and `NEW_COMMAND_TIMEOUT` Environment
36
+ Variables and set the corresponding `fullReset`, `noReset`, and `newCommandTimeout` Appium capabilities for iOS and Android physical devices and simulators.
37
+ Also reads the `WDA_LOCAL_PORT` Environment Variable and sets the `wdaLocalPort` Appium capability for iOS physical devices only.
38
+
39
+
40
+ ## [2.3.19] - 2018-03-14
41
+
42
+ ### Fixed
43
+ * Fixed device profile for `android_phone` - Generic Android Phone.
44
+
45
+
46
+ ## [2.3.18] - 2018-03-11
47
+
48
+ ### Changed
49
+ * Updated `SelectList.define_list_elements` method to accept value for `:list_trigger` element.
50
+ * Updated `SelectList.choose_option` to respect `:list_item` value and to click on `:list_trigger` element, if one is specified.
51
+ * Updated `PageSection` and `PageObject` UI element object declaration methods to no longer use `class_eval` pattern.
52
+ * Updated device profiles for iPhone 7 (iOS 10) with Chrome browser and iPad (iOS 10) with Chrome browser.
53
+
54
+ ### Fixed
55
+ * Fixed `SelectList.choose_option` to also accept `:text`, `:value`, and `:index` option hashes across all types of select list objects.
56
+
57
+
58
+ ## [2.3.17] - 2018-03-08
59
+
60
+ ### Added
61
+ * Added `List.wait_until_item_count_is` and `List.wait_until_item_count_changes` methods.
62
+
63
+ ### Changed
64
+ * `UIElement.wait_until_value_is` and `List.wait_until_item_count_is` methods now accept comparison hash.
65
+
66
+
67
+ ## [2.3.16] - 2018-03-04
68
+
69
+ ### Added
70
+ * Added `PageSection.double_click`, `PageObject.right_click`, and `PageObject.send_keys` methods.
71
+
72
+
73
+ ## [2.3.15] - 2018-03-02
74
+
75
+ ### Added
76
+ * Added `PageObject.wait_until_exists` and `PageObject.wait_until_gone` methods.
77
+
78
+ ### Fixed
79
+ * Fixed bug in `UIElement.get_object_type` method that could result in a `NoMethodError obj not defined` error.
80
+ * 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.
81
+
82
+
83
+ ## [2.3.14] - 2018-02-28
84
+
85
+ ### Changed
86
+ * Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser.
87
+
88
+
89
+ ## [2.3.13] - 2018-02-09
90
+
91
+ ### Added
92
+ * Added `AppiumServer.start`, `AppiumServer.running?`, and `AppiumServer.stop` methods for starting and stopping the Appium Server prior to executing tests on
93
+ iOS physical devices or simulators, or Android virtual device emulators.
94
+
95
+
96
+ ## [2.3.12] - 2018-02-07
97
+
98
+ ### Added
99
+ * Added `Environ.is_simulator?` and `Environ.is_web?` methods.
100
+
101
+
102
+ ## [2.3.11] - 2018-02-02
103
+
104
+ ### Added
105
+ * Added support for running tests in Mobile Safari browser on physical iOS devices.
106
+
107
+ ### Changed
108
+ * Updated device profiles for iPhone 7 (iOS 10) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
109
+
110
+
111
+ ## [2.3.10] - 2018-01-31
112
+
113
+ ### Added
114
+ * Added support for running tests in mobile Chrome or Android browsers on Android Studio virtual device emulators.
115
+ * Added `displayed?`, `get_all_items_count`, and `get_all_list_items` methods to `PageSection` class.
116
+ * Added `get_all_items_count`, and `get_all_list_items` methods to `List` class.
117
+
118
+
119
+ ## [2.3.9] - 2018-01-27
120
+
121
+ ### Changed
122
+ * Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to accept optional `wait_time` parameter.
123
+ * 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.
124
+ * Updated device profiles for iPad (iOS 10) with Chrome browser and iPad (iOS 10) with Firefox browser.
125
+
126
+
127
+ ## [2.3.8] - 2018-01-23
128
+
129
+ ### Fixed
130
+ * Fixed locator resolution for **Indexed PageSection Objects**.
131
+
132
+
133
+ ## [2.3.7] - 2018-01-18
134
+
135
+ ### Added
136
+ * Added `width`, `height`, `x`, `y`, and `displayed?` methods to `UIElement` class.
137
+
138
+
139
+ ## [2.3.6] - 2017-12-21
140
+
141
+ ### Added
142
+ * Added `TextField.clear` method for deleting the contents of text fields. This method should trigger the `onchange` event for the associated text field.
143
+
144
+ ### Changed
145
+ * `TextField.clear` method now works with most `number` type fields.
146
+
147
+
148
+ ## [2.3.5] - 2017-12-19
149
+
150
+ ### Changed
151
+ * Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to be compatible with Redactor editor fields.
152
+ * 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.
153
+
154
+
155
+ ## [2.3.4] - 2017-12-12
156
+
157
+ ### Fixed
158
+ * Fixed bug in `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods that prevented deletion of data in number type textfields
159
+ and textarea controls.
160
+
161
+
162
+ ## [2.3.3] - 2017-12-09
163
+
164
+ ### Added
165
+ * Added device profile for iPhone 7 (iOS 10) with MS Edge browser.
166
+
167
+ ### Fixed
168
+ * Corrected device profiles for iPad (iOS 10) with Mobile Chrome browser and iPad (iOS 10) with Mobile Firefox browser.
169
+
170
+
171
+ ## [2.3.1] - 2017-12-07
172
+
173
+ ### Added
174
+ * When testing using remotely hosted browsers on the BrowserStack service, the BrowserStack Local instance is automatically started if the `TUNNELING`
175
+ Environment Variable is set to `true`. `Environ.tunneling` will be set to true if the BrowserStack Local instance is succesfully started.
176
+ * Added `TestCentricity::WebDriverConnect.close_tunnel` method to close BrowserStack Local instance when Local testing is enabled. Refer to the
177
+ **Remotely hosted desktop and mobile web browsers** section for information on usage.
178
+
179
+
180
+ ## [2.2.1] - 2017-11-29
181
+
182
+ ### Changed
183
+ * `SelectList.choose_option` method now accepts index values for Chosen list objects.
184
+
185
+
186
+ ## [2.2.0] - 2017-11-29
187
+
188
+ ### Changed
189
+ * CSS selectors or XPath expressions may be used as locators for all types of **UI Elements**, including tables.
190
+
191
+
192
+ ## [2.1.10] - 2017-11-14
193
+
194
+ ### Added
195
+ * Added device profiles for iPhone 7 (iOS 10) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
196
+
197
+
198
+ ## [2.1.9] - 2017-11-13
199
+
200
+ ### Fixed
201
+ * Fixed bug in `SelectList.choose_option`, `SelectList.get_options`, `SelectList.get_option_count`, and `SelectList.get_selected_option` methods which
202
+ did not recognize grouped option in Chosen list objects.
203
+
204
+
205
+ ## [2.1.8] - 2017-11-09
206
+
207
+ ### Added
208
+ * Added `PageSection.verify_list_items` method for **Indexed PageSection Objects**.
209
+
210
+
211
+ ## [2.1.7] - 2017-11-07
212
+
213
+ ### Changed
214
+ * Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to use backspace characters to delete contents of a textfield
215
+ instead of using `clear`, which was preventing `onchange` JavaScript events from being triggered in some browsers.
216
+
217
+
218
+ ## [2.1.6] - 2017-10-31
219
+
220
+ ### Fixed
221
+ * Fixed bug in `TestCentricity::WebDriverConnect.set_webdriver_path` method that was failing to set the path to the appropriate **chromedriver** file for OS X
222
+ and Windows.
223
+
224
+
225
+ ## [2.1.5] - 2017-10-28
226
+
227
+ ### Added
228
+ * Added `get_min`, `get_max`, and `get_step` methods to `TextField` class.
229
+ * Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `min`, `max`, and `step` attributes
230
+ for textfields.
231
+
232
+ ### Fixed
233
+ * Fixed Chrome and Firefox support for setting browser language via the `LOCALE` Environment Variable. This capability now works for emulated mobile
234
+ browsers hosted in a local instance of Chrome or Firefox.
235
+
236
+
237
+ ## [2.1.4] - 2017-10-24
238
+
239
+ ### Added
240
+ * Added suppression of the Info Bar that displays "Chrome is being controlled by automated test software" on locally hosted instances of the Chrome browser.
241
+
242
+
243
+ ## [2.1.3] - 2017-10-17
244
+
245
+ ### Added
246
+ * Added support for "tiling" or cascading multiple browser windows when the `BROWSER_TILE` and `PARALLEL` Environment Variables are set to true. For each
247
+ 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,
248
+ use the [parallel_tests gem](https://rubygems.org/gems/parallel_tests) to decrease overall test execution time.
249
+
250
+
251
+ ## [2.1.2] - 2017-10-01
252
+
253
+ ### Added
254
+ * Added device profiles for Microsoft Lumia 950, Blackberry Leap, Blackberry Passport, and Kindle Fire HD 10
255
+ * Added ability to set browser language support via the `LOCALE` Environment Variable for local instances of Chrome browsers
256
+
257
+
258
+ ## [2.1.0] - 2017-09-23
259
+
260
+ ### Added
261
+ * Added device profiles for iPhone 8, iPhone 8 Plus, iPhone X devices running iOS 11
262
+ * Added device profile for iPad Pro 10.5" with iOS 11
263
+
264
+ ### Changed
265
+ * Updated iPhone 7 and iPhone 7 Plus profiles to iOS 10
266
+ * Updated Google Pixel and Google Pixel XL profiles to Android 8
267
+ * Added device profiles for iPhone 7 (iOS 10) with Mobile Chrome browser and iPad (iOS 10) with Mobile Chrome browser
268
+ * The `TestCentricity::WebDriverConnect.initialize_web_driver` method now sets the `Environ` object to the correct device connection states for local and
269
+ cloud hosted browsers.
270
+
271
+ ### Fixed
272
+ * The `TestCentricity::WebDriverConnect.initialize_web_driver` method no longer calls `initialize_browser_size` when running tests against cloud hosted
273
+ mobile web browser, which was resulting in Appium throwing exceptions for unsupported method calls.
274
+ * The `TestCentricity::WebDriverConnect.set_webdriver_path` method now correctly sets the path for Chrome webDrivers when the `HOST_BROWSER` Environment
275
+ 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