|
| 1 | +======================= |
| 2 | +SeleniumLibrary 4.0.0a2 |
| 3 | +======================= |
| 4 | + |
| 5 | + |
| 6 | +.. default-role:: code |
| 7 | + |
| 8 | + |
| 9 | +SeleniumLibrary_ is a web testing library for `Robot Framework`_ that utilizes |
| 10 | +the Selenium_ tool internally. SeleniumLibrary 4.0.0a2 is a new pre release with |
| 11 | +Open Browser keyword to support Selenium options and service_log_path and bug fixes. |
| 12 | + |
| 13 | +All issues targeted for SeleniumLibrary v4.0.0 can be found |
| 14 | +from the `issue tracker`_. |
| 15 | + |
| 16 | +If you have pip_ installed, just run |
| 17 | + |
| 18 | +:: |
| 19 | + |
| 20 | + pip install --pre --upgrade robotframework-seleniumlibrary |
| 21 | + |
| 22 | +to install the latest available release or use |
| 23 | + |
| 24 | +:: |
| 25 | + |
| 26 | + pip install robotframework-seleniumlibrary==4.0.0a2 |
| 27 | + |
| 28 | +to install exactly this version. Alternatively you can download the source |
| 29 | +distribution from PyPI_ and install it manually. |
| 30 | + |
| 31 | +SeleniumLibrary 4.0.0a2 was released on Thursday July 4, 2019. SeleniumLibrary supports |
| 32 | +Python 2.7 and 3.4+, Selenium 3.8.2 and Robot Framework 3.0.4 and 3.1.2. |
| 33 | + |
| 34 | +.. _Robot Framework: http://robotframework.org |
| 35 | +.. _SeleniumLibrary: https://github.com/robotframework/SeleniumLibrary |
| 36 | +.. _Selenium: http://seleniumhq.org |
| 37 | +.. _pip: http://pip-installer.org |
| 38 | +.. _PyPI: https://pypi.python.org/pypi/robotframework-seleniumlibrary |
| 39 | +.. _issue tracker: https://github.com/robotframework/SeleniumLibrary/issues?q=milestone%3Av4.0.0 |
| 40 | + |
| 41 | + |
| 42 | +.. contents:: |
| 43 | + :depth: 2 |
| 44 | + :local: |
| 45 | + |
| 46 | +Most important enhancements |
| 47 | +=========================== |
| 48 | + |
| 49 | +SeleniumLibrary by creating plugin API. (`#1292`_, alpha 1) |
| 50 | +------------------------------------------------------------ |
| 51 | +SeleniumLibrary 4.0 introduces a plugin API, which allows adding |
| 52 | +or modifying keywords directly in to the SeleniumLibrary. It also |
| 53 | +offers more wider access to the SeleniumLibrary internal methods. |
| 54 | + |
| 55 | +More details can be found from the `plugin API`_ documentation. |
| 56 | + |
| 57 | + |
| 58 | +Selenium EventFiringWebdriver (`#1303`_, alpha 1) |
| 59 | +------------------------------------------------- |
| 60 | +SeleniumLibrary offers support for `Selenium EventFiringWebdriver`_ allowing |
| 61 | +users to import the EventFiringWebdriver class in to the SeleniumLibrary. |
| 62 | +More details can be found from the Selenium and SeleniumLibrary |
| 63 | +`EventFiringWebdriver documentation`_ |
| 64 | + |
| 65 | +Open Browser keyword could take in Selenium browser specific options (`#1331`_, alpha 2) |
| 66 | +---------------------------------------------------------------------------------------- |
| 67 | +`Open Browser` keyword provides now native way to define browser specific Selenium options. |
| 68 | +This enhancement brings `Open Browser` keyword closer to what `Create WebDriver` keyword can do, |
| 69 | +but with cleaner API and by using single argument. Refer to the Selenium documentation |
| 70 | +which browser support Selenium options. |
| 71 | + |
| 72 | +Enhance Open Browser keywords to support Selenium service_log_path argument (`#1333`_, alpha 2) |
| 73 | +----------------------------------------------------------------------------------------------- |
| 74 | +In the past browser driver where not logged, expect for Firefox, to a file. Now the it is possible |
| 75 | +to define file where browser driver logs are created. This enhancement and the `#1331`_ aims |
| 76 | +to replace `Create WebDriver` keyword. |
| 77 | + |
| 78 | + |
| 79 | +Backwards incompatible changes |
| 80 | +============================== |
| 81 | + |
| 82 | +Remove deprecated attributes of unofficial public API (`#1346`_, alpha 1) |
| 83 | +------------------------------------------------------------------------- |
| 84 | +The Selenium2Library 1.8 and older did not have public API, but |
| 85 | +it did have some methods which could be considered as part of a unofficial |
| 86 | +API. The SeleniumLibrary 3.0 created new public API and in the same time |
| 87 | +tried to keep as much as possible of the unofficial API in place. In |
| 88 | +same time with 3.0 release the old API was deprecated. The SeleniumLibrary |
| 89 | +4.0 removes the unofficial and deprecated API. |
| 90 | + |
| 91 | +Drop Robot Framework 2.9 support in SeleniumLibrary. (`#1304`_, alpha 1) |
| 92 | +------------------------------------------------------------------------ |
| 93 | +SeleniumLibrary does not anymore support Robot Framework 2.9 or older |
| 94 | +releases. Users are encouraged to migrate Robot Framework 3.0 or 3.1. |
| 95 | + |
| 96 | +Raise minimum supported Selenium version to 3.8.1 (`#1305`_, alpha 1) |
| 97 | +--------------------------------------------------------------------- |
| 98 | +Minimum supported Selenium version has been raised to 3.8.1. |
| 99 | + |
| 100 | +Remove keywords which where officially deprecated in previos releases. (`#1274`_, alpha 1) |
| 101 | +------------------------------------------------------------------------------------------ |
| 102 | +SeleniumLibrary has removed keyword which where loudly deprecated in the previous releases. |
| 103 | +User are encouraged to use the new keywords. |
| 104 | + |
| 105 | +Update SeleniumLibrary is_truthy and is_falsy to follow Robot Framework 3.1 (`#1308`_, alpha 1) |
| 106 | +------------------------------------------------------------------------------------------------ |
| 107 | +In previous SeleniumLibrary releases, string 0 was considered as true when evaluating |
| 108 | +boolean type. This is now changed and string 0 is considered as false. |
| 109 | + |
| 110 | +It should be possible to configure Open Browser keyword to not always open a new browser. (`#1319`_, alpha 2) |
| 111 | +------------------------------------------------------------------------------------------------------------- |
| 112 | +In the past `Open Browser` keyword did always open a new browser. With this enhancement |
| 113 | +new browser only opened if aliases are different for each `Open Browser` keyword. |
| 114 | + |
| 115 | +`Choose File` keyword should not fail if file does not exist. (`#1402`_, alpha 2) |
| 116 | +---------------------------------------------------------------------------------- |
| 117 | +In the past `Choose File` keyword only accepted strings which point to a file in the |
| 118 | +file system. Now this is changed and SeleniumLibrary does not anymore perform checks |
| 119 | +does the file exist, instead it is leaved for the underlying Selenium to device is the |
| 120 | +input string a file, folder or something which is not acceptable. |
| 121 | + |
| 122 | +Deprecated features |
| 123 | +=================== |
| 124 | + |
| 125 | +Deprecate loudly all silently deprecated keywords (`#1273`_, alpha 1) |
| 126 | +---------------------------------------------------------------------- |
| 127 | +All keywords which where silently deprecated in the previous release, will now |
| 128 | +cause a deprecated warning. |
| 129 | + |
| 130 | +Acknowledgements |
| 131 | +================ |
| 132 | + |
| 133 | +Also there has been many contributions from the community. Special thanks |
| 134 | +to all that provided an contribution to the project. Here is a list of |
| 135 | +contributions which have made pull request in to this release. |
| 136 | + |
| 137 | +I would like to remind that providing code or updating documentation is |
| 138 | +not the only way to contribute. There has been lot of issues raised in |
| 139 | +the project issue tracker and feedback has been provided in the |
| 140 | +user group and in slack. I am grateful from all the feedback. |
| 141 | + |
| 142 | +Wait For Location To Contain (`#1108`_, alpha 1) |
| 143 | +------------------------------------------------- |
| 144 | +Many thanks to acaovilla who provided Wait Until Location Contains keyword in the |
| 145 | +RoboCon sprints. |
| 146 | + |
| 147 | +Add Wait Until Location Is keyword (`#1297`_, alpha 1) |
| 148 | +------------------------------------------------------ |
| 149 | +Many thanks to acaovilla who provided Wait Until Location Is keyword. Sometime after |
| 150 | +the RoboCon. |
| 151 | + |
| 152 | +Allow setting and getting window.innerWidth and window.innerHeight CSS properties (`#1363`_, alpha 1) |
| 153 | +----------------------------------------------------------------------------------------------------- |
| 154 | +Many thanks to ciccioman3, who enhanced the Set Window Size and Get Window Size keywords |
| 155 | +to support window.innerWidth and window.innerHeight css attributes. |
| 156 | + |
| 157 | +Update readme to mention https://github.com/Omenia/webdrivermanager (`#1301`_, alpha 1) |
| 158 | +--------------------------------------------------------------------------------------- |
| 159 | +Many thanks to rasjani, who updated documentation to mention scripted browser driver |
| 160 | +installation. |
| 161 | + |
| 162 | +Enhance EXTENDING_SELENIUMLIBRARY.rst readability. (`#1372`_, alpha 2) |
| 163 | +----------------------------------------------------------------------- |
| 164 | +many thanks to humbienri who enhanced the EXTENDING_SELENIUMLIBRARY.rst documentation. |
| 165 | + |
| 166 | +Full list of fixes and enhancements |
| 167 | +=================================== |
| 168 | + |
| 169 | +.. list-table:: |
| 170 | + :header-rows: 1 |
| 171 | + |
| 172 | + * - ID |
| 173 | + - Type |
| 174 | + - Priority |
| 175 | + - Summary |
| 176 | + - Added |
| 177 | + * - `#1292`_ |
| 178 | + - enhancement |
| 179 | + - critical |
| 180 | + - Allow extending SeleniumLibrary by creating plugin API. |
| 181 | + - alpha 1 |
| 182 | + * - `#1303`_ |
| 183 | + - enhancement |
| 184 | + - critical |
| 185 | + - Add support event_firing_webdriver |
| 186 | + - alpha 1 |
| 187 | + * - `#1304`_ |
| 188 | + - enhancement |
| 189 | + - critical |
| 190 | + - Drop Robot Framework 2.9 support in SeleniumLibrary. |
| 191 | + - alpha 1 |
| 192 | + * - `#1305`_ |
| 193 | + - enhancement |
| 194 | + - critical |
| 195 | + - Raise minimum supported Selenium version to 3.8.1 |
| 196 | + - alpha 1 |
| 197 | + * - `#1331`_ |
| 198 | + - enhancement |
| 199 | + - high |
| 200 | + - Open Browser keyword could take in Selenium browser specific options |
| 201 | + - alpha 2 |
| 202 | + * - `#1333`_ |
| 203 | + - enhancement |
| 204 | + - high |
| 205 | + - Enhance Open Browser keywords to support Selenium service_log_path argument |
| 206 | + - alpha 2 |
| 207 | + * - `#1284`_ |
| 208 | + - bug |
| 209 | + - medium |
| 210 | + - Default Capabilities not set correctly if remote_url and desired_capabilities are given |
| 211 | + - alpha 1 |
| 212 | + * - `#1307`_ |
| 213 | + - bug |
| 214 | + - medium |
| 215 | + - Get Cookies keyword will fail if the Selenium get_cookie method return value contains more keys than: name, value, path, domain, secure, httpOnly and expiry |
| 216 | + - alpha 1 |
| 217 | + * - `#1380`_ |
| 218 | + - bug |
| 219 | + - medium |
| 220 | + - Selenium version number can also contain letters |
| 221 | + - alpha 2 |
| 222 | + * - `#1108`_ |
| 223 | + - enhancement |
| 224 | + - medium |
| 225 | + - Propose new keyword: Wait For Location To Contain |
| 226 | + - alpha 1 |
| 227 | + * - `#1273`_ |
| 228 | + - enhancement |
| 229 | + - medium |
| 230 | + - Deprecate loudly all silently deprecated keywords |
| 231 | + - alpha 1 |
| 232 | + * - `#1274`_ |
| 233 | + - enhancement |
| 234 | + - medium |
| 235 | + - Remove keywords which where officially deprecated in previos releases. |
| 236 | + - alpha 1 |
| 237 | + * - `#1297`_ |
| 238 | + - enhancement |
| 239 | + - medium |
| 240 | + - Add Wait Until Location Is keyword |
| 241 | + - alpha 1 |
| 242 | + * - `#1308`_ |
| 243 | + - enhancement |
| 244 | + - medium |
| 245 | + - Update SeleniumLibrary is_truthy and is_falsy to follow Robot Framework 3.1 |
| 246 | + - alpha 1 |
| 247 | + * - `#1319`_ |
| 248 | + - enhancement |
| 249 | + - medium |
| 250 | + - It should be possible to configure Open Browser keyword to not always open a new browser. |
| 251 | + - alpha 2 |
| 252 | + * - `#1330`_ |
| 253 | + - enhancement |
| 254 | + - medium |
| 255 | + - Input Text and Input Password keywords should be configurable if they clear the input element before keywords types the text in |
| 256 | + - alpha 1 |
| 257 | + * - `#1336`_ |
| 258 | + - enhancement |
| 259 | + - medium |
| 260 | + - Deprecate sizzle selector strategy |
| 261 | + - alpha 1 |
| 262 | + * - `#1346`_ |
| 263 | + - enhancement |
| 264 | + - medium |
| 265 | + - Remove deprecated attributes of public API |
| 266 | + - alpha 1 |
| 267 | + * - `#1363`_ |
| 268 | + - enhancement |
| 269 | + - medium |
| 270 | + - Allow setting and getting window.innerWidth and window.innerHeight CSS properties |
| 271 | + - alpha 1 |
| 272 | + * - `#1372`_ |
| 273 | + - enhancement |
| 274 | + - medium |
| 275 | + - Enhance EXTENDING_SELENIUMLIBRARY.rst readability. |
| 276 | + - alpha 2 |
| 277 | + * - `#1379`_ |
| 278 | + - enhancement |
| 279 | + - medium |
| 280 | + - When browser is closed and there is an error, the default run on failure functionality, Capture Page Screenshot, is run and it causes second exception |
| 281 | + - alpha 2 |
| 282 | + * - `#1402`_ |
| 283 | + - enhancement |
| 284 | + - medium |
| 285 | + - `Choose File` keyword should not fail if file does not exist. |
| 286 | + - alpha 2 |
| 287 | + * - `#449`_ |
| 288 | + - bug |
| 289 | + - low |
| 290 | + - Update documentation on Choose File to show that it supports remote uploading |
| 291 | + - alpha 1 |
| 292 | + * - `#1279`_ |
| 293 | + - enhancement |
| 294 | + - low |
| 295 | + - Webdriver tools browser_alias may not be needed |
| 296 | + - alpha 1 |
| 297 | + * - `#1301`_ |
| 298 | + - enhancement |
| 299 | + - low |
| 300 | + - Update readme to mention https://github.com/Omenia/webdrivermanager |
| 301 | + - alpha 1 |
| 302 | + |
| 303 | +Altogether 25 issues. View on the `issue tracker <https://github.com/robotframework/SeleniumLibrary/issues?q=milestone%3Av4.0.0>`__. |
| 304 | + |
| 305 | +.. _#1292: https://github.com/robotframework/SeleniumLibrary/issues/1292 |
| 306 | +.. _#1303: https://github.com/robotframework/SeleniumLibrary/issues/1303 |
| 307 | +.. _#1304: https://github.com/robotframework/SeleniumLibrary/issues/1304 |
| 308 | +.. _#1305: https://github.com/robotframework/SeleniumLibrary/issues/1305 |
| 309 | +.. _#1331: https://github.com/robotframework/SeleniumLibrary/issues/1331 |
| 310 | +.. _#1333: https://github.com/robotframework/SeleniumLibrary/issues/1333 |
| 311 | +.. _#1284: https://github.com/robotframework/SeleniumLibrary/issues/1284 |
| 312 | +.. _#1307: https://github.com/robotframework/SeleniumLibrary/issues/1307 |
| 313 | +.. _#1380: https://github.com/robotframework/SeleniumLibrary/issues/1380 |
| 314 | +.. _#1108: https://github.com/robotframework/SeleniumLibrary/issues/1108 |
| 315 | +.. _#1273: https://github.com/robotframework/SeleniumLibrary/issues/1273 |
| 316 | +.. _#1274: https://github.com/robotframework/SeleniumLibrary/issues/1274 |
| 317 | +.. _#1297: https://github.com/robotframework/SeleniumLibrary/issues/1297 |
| 318 | +.. _#1308: https://github.com/robotframework/SeleniumLibrary/issues/1308 |
| 319 | +.. _#1319: https://github.com/robotframework/SeleniumLibrary/issues/1319 |
| 320 | +.. _#1330: https://github.com/robotframework/SeleniumLibrary/issues/1330 |
| 321 | +.. _#1336: https://github.com/robotframework/SeleniumLibrary/issues/1336 |
| 322 | +.. _#1346: https://github.com/robotframework/SeleniumLibrary/issues/1346 |
| 323 | +.. _#1363: https://github.com/robotframework/SeleniumLibrary/issues/1363 |
| 324 | +.. _#1372: https://github.com/robotframework/SeleniumLibrary/issues/1372 |
| 325 | +.. _#1379: https://github.com/robotframework/SeleniumLibrary/issues/1379 |
| 326 | +.. _#1402: https://github.com/robotframework/SeleniumLibrary/issues/1402 |
| 327 | +.. _#449: https://github.com/robotframework/SeleniumLibrary/issues/449 |
| 328 | +.. _#1279: https://github.com/robotframework/SeleniumLibrary/issues/1279 |
| 329 | +.. _#1301: https://github.com/robotframework/SeleniumLibrary/issues/1301 |
| 330 | +.. _plugin API: https://github.com/robotframework/SeleniumLibrary/blob/master/docs/extending/extending.rst |
| 331 | +.. _EventFiringWebdriver documentation: https://github.com/robotframework/SeleniumLibrary/blob/master/docs/extending/extending.rst |
| 332 | +.. _Selenium EventFiringWebdriver: https://seleniumhq.github.io/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.event_firing_webdriver.html |
0 commit comments