|
| 1 | +===================== |
| 2 | +SeleniumLibrary 3.3.0 |
| 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 3.3.0 is a new release with |
| 11 | +new Press Keys keyword which has clean support for `Selenium Keys`_, |
| 12 | +allows to capture picture from a single element and many other enhancements and |
| 13 | +bug fixes. |
| 14 | + |
| 15 | +All issues targeted for SeleniumLibrary v3.3.0 can be found |
| 16 | +from the `issue tracker`_. |
| 17 | + |
| 18 | +If you have pip_ installed, just run |
| 19 | + |
| 20 | +:: |
| 21 | + |
| 22 | + pip install --upgrade robotframework-seleniumlibrary |
| 23 | + |
| 24 | +to install the latest available release or use |
| 25 | + |
| 26 | +:: |
| 27 | + |
| 28 | + pip install robotframework-seleniumlibrary==3.3.0 |
| 29 | + |
| 30 | +to install exactly this version. Alternatively you can download the source |
| 31 | +distribution from PyPI_ and install it manually. |
| 32 | + |
| 33 | +SeleniumLibrary 3.3.0 was released on Monday December 24, 2018. SeleniumLibrary supports |
| 34 | +Python 2.7 and 3.4+, Selenium 3.4+ (Although the supported Selenium version depends on |
| 35 | +the use browser version) and Robot Framework 2.9.2, 3.0.4 and 3.1. |
| 36 | + |
| 37 | +.. _Robot Framework: http://robotframework.org |
| 38 | +.. _SeleniumLibrary: https://github.com/robotframework/SeleniumLibrary |
| 39 | +.. _Selenium: http://seleniumhq.org |
| 40 | +.. _Selenium Keys: https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.keys.html |
| 41 | +.. _pip: http://pip-installer.org |
| 42 | +.. _PyPI: https://pypi.python.org/pypi/robotframework-seleniumlibrary |
| 43 | +.. _issue tracker: https://github.com/robotframework/SeleniumLibrary/issues?q=milestone%3Av3.3.0 |
| 44 | + |
| 45 | + |
| 46 | +.. contents:: |
| 47 | + :depth: 2 |
| 48 | + :local: |
| 49 | + |
| 50 | +Most important enhancements |
| 51 | +=========================== |
| 52 | + |
| 53 | +New `Press Keys` keyword with clean support for special keys (`#1250`_) |
| 54 | +----------------------------------------------------------------------- |
| 55 | +New Press Keys provides clean support for Selenium Keys and it is not anymore |
| 56 | +needed to provide the ASCII code of the key. With one keyword it is possible |
| 57 | +to press multiple keys at the same time and send multiple key combinations |
| 58 | +by using one keyword. |
| 59 | + |
| 60 | +The existing Press Key keyword is silently deprecated and user are |
| 61 | +encouraged to migrate to the new Press Keys keyword. |
| 62 | + |
| 63 | +Wait... keywords should not fail StaleElementReferenceException (`#1270`_) |
| 64 | +-------------------------------------------------------------------------- |
| 65 | +The Wait... keywords can fail with StaleElementReferenceException because |
| 66 | +in between finding the element and doing action with the element (like |
| 67 | +checking is the element displayed) the DOM may change. Finding the element |
| 68 | +and doing something with the element are always two different Selenium |
| 69 | +API calls, even when doing it Python way: self.find_element(locator).text |
| 70 | +and therefore there is always small delay between the calls. |
| 71 | + |
| 72 | +There are various reasons why the DOM may change, but the Wait ... keywords |
| 73 | +should not fail, in middle of the waiting, if Selenium raises |
| 74 | +StaleElementReferenceException. The Wait ... keywords have been changed |
| 75 | +to suppress the StaleElementReferenceException and log it. |
| 76 | + |
| 77 | +This change is also backwards incompatible if someone has relied on the |
| 78 | +old functionality. |
| 79 | + |
| 80 | +Get Window Titles fails with a unicode encode error for certain titles. (`#1252`_) |
| 81 | +---------------------------------------------------------------------------------- |
| 82 | +SeleniumLibrary 3.0 introduced a bug, if the title contained non ascii character, listing |
| 83 | +the window titles would fail. This is now fixed. |
| 84 | + |
| 85 | +Document that Set selenium timeout also affects Execute async javascript (`#1267`_) |
| 86 | +----------------------------------------------------------------------------------- |
| 87 | +It was not properly documented that the Set Selenium Timeout keyword or |
| 88 | +timeout argument in the library import affects also Execute Async Javascript |
| 89 | +keyword. |
| 90 | + |
| 91 | +Backwards incompatible changes |
| 92 | +============================== |
| 93 | + |
| 94 | +Open Browser keyword in 3.2 (and most likely 3.1 too) does not work with chromium-browser, but 3.0 works with chromium-browser. (`#1243`_) |
| 95 | +------------------------------------------------------------------------------------------------------------------------------------------- |
| 96 | +In the SeleniumLibrary 3.1 release `Open Browser` keyword was changed to always add |
| 97 | +default desired capabilities. This caused a problem with chromium-browser and |
| 98 | +prevented the browser to open. The functionality is now changed that SeleniumLibrary |
| 99 | +does not set the default desired capabilities. Instead SeleniumLibrary will only set the |
| 100 | +desired capabilities defined by the user, or lest's the Selenium to set the default |
| 101 | +desired capabilities. |
| 102 | + |
| 103 | +Drop Robot Framework 2.8 support in SeleniumLibrary 3.3.0. (`#1197`_) |
| 104 | +--------------------------------------------------------------------- |
| 105 | +Robot Framework 2.8 is not anymore supported by the SeleniumLibrary. |
| 106 | + |
| 107 | +The next major release will also drop support Robot Framework 2.9. |
| 108 | + |
| 109 | + |
| 110 | +Change loglevel to TRACE in keywords which log html source (`#1259`_) |
| 111 | +--------------------------------------------------------------------- |
| 112 | +SeleniumLibrary had many keywords, which would log the html source |
| 113 | +if they would fail. By default that logging was done in INFO level. |
| 114 | +But with the current dynamic applications, logging the html source |
| 115 | +provides little or none value for the users and it can increase the |
| 116 | +log.html size drastically. Therefore it was decided to change the |
| 117 | +default logging level to TRACE. |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | +Deprecated features |
| 122 | +=================== |
| 123 | + |
| 124 | +Deprecate support for the phantomjs (`#1251`_) |
| 125 | +----------------------------------------------- |
| 126 | +Support for phantomjs has been long deprecated in the Selenium side. Now |
| 127 | +it is also deprecated in the SeleniumLibrary side. Users should migrate |
| 128 | +their tests to use headless Chrome or Firefox. |
| 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 in to the this release. |
| 136 | + |
| 137 | +I would like to remind that providing PR is not the only way to contribute. |
| 138 | +There has been lot of issues raised in the project issue tracker and |
| 139 | +feedback has been provided in the user group and in slack. I am grateful |
| 140 | +from all the feedback. |
| 141 | + |
| 142 | + |
| 143 | +Typo in Location Should Be documentation (`#1215`_) |
| 144 | +--------------------------------------------------- |
| 145 | +Cyril Bonté provided PR to fix a bug in the documentation. |
| 146 | + |
| 147 | +Add keyword to mimic add blocker functionality (`#1239`_) |
| 148 | +--------------------------------------------------------- |
| 149 | +SergiuTudos provided a PR, which add's a keyword to mimic |
| 150 | +add blocker functionality. |
| 151 | + |
| 152 | +`Get Cookies` should support returning cookies as objects and have better logging (`#979`_) |
| 153 | +------------------------------------------------------------------------------------------- |
| 154 | +Jani Mikkonen provided a PR to enhanced the Get Cookies keyword, with |
| 155 | +as_dict argument. Now it is possible configure keyword to return cookies |
| 156 | +in string and dictionary format. |
| 157 | + |
| 158 | +Change loglevel to TRACE in keywords which log html source (`#1259`_) |
| 159 | +--------------------------------------------------------------------- |
| 160 | +Joao Coelho provided a PR to change the loglevel from INFO to TRACE |
| 161 | +by default. |
| 162 | + |
| 163 | +Full list of fixes and enhancements |
| 164 | +=================================== |
| 165 | + |
| 166 | +.. list-table:: |
| 167 | + :header-rows: 1 |
| 168 | + |
| 169 | + * - ID |
| 170 | + - Type |
| 171 | + - Priority |
| 172 | + - Summary |
| 173 | + * - `#1243`_ |
| 174 | + - bug |
| 175 | + - critical |
| 176 | + - Open Browser keyword in 3.2 (and most likely 3.1 too) does not work with chromium-browser, but 3.0 works with chromium-browser. |
| 177 | + * - `#1252`_ |
| 178 | + - bug |
| 179 | + - high |
| 180 | + - Get Window Titles fails with a unicode encode error for certain titles. |
| 181 | + * - `#1267`_ |
| 182 | + - bug |
| 183 | + - high |
| 184 | + - Document that Set selenium timeout also affects Execute async javascript |
| 185 | + * - `#1197`_ |
| 186 | + - enhancement |
| 187 | + - high |
| 188 | + - Drop Robot Framework 2.8 support in SeleniumLibrary 3.3.0. |
| 189 | + * - `#1250`_ |
| 190 | + - enhancement |
| 191 | + - high |
| 192 | + - New `Press Keys` keyword with clean support for special keys |
| 193 | + * - `#1251`_ |
| 194 | + - enhancement |
| 195 | + - high |
| 196 | + - Deprecate support for the phantomjs |
| 197 | + * - `#1270`_ |
| 198 | + - enhancement |
| 199 | + - high |
| 200 | + - Wait... keywords should not fail StaleElementReferenceException |
| 201 | + * - `#1215`_ |
| 202 | + - bug |
| 203 | + - medium |
| 204 | + - Typo in Location Should Be documentation |
| 205 | + * - `#1181`_ |
| 206 | + - enhancement |
| 207 | + - medium |
| 208 | + - Capture Elemen picture |
| 209 | + * - `#1208`_ |
| 210 | + - enhancement |
| 211 | + - medium |
| 212 | + - Consistency reasons add `modifier` argument for all click keywords. |
| 213 | + * - `#1239`_ |
| 214 | + - enhancement |
| 215 | + - medium |
| 216 | + - Add keyword to mimic add blocker functionality |
| 217 | + * - `#1265`_ |
| 218 | + - enhancement |
| 219 | + - medium |
| 220 | + - Update PythonLibcore to latest in master |
| 221 | + * - `#979`_ |
| 222 | + - enhancement |
| 223 | + - medium |
| 224 | + - `Get Cookies` should support returning cookies as objects and have better logging |
| 225 | + * - `#1207`_ |
| 226 | + - bug |
| 227 | + - low |
| 228 | + - Fix typo in README.rst |
| 229 | + * - `#1235`_ |
| 230 | + - enhancement |
| 231 | + - low |
| 232 | + - Add ESC to Click Element modifier alias |
| 233 | + * - `#1259`_ |
| 234 | + - enhancement |
| 235 | + - low |
| 236 | + - Change loglevel to TRACE in keywords which log html source |
| 237 | + |
| 238 | +Altogether 16 issues. View on the `issue tracker <https://github.com/robotframework/SeleniumLibrary/issues?q=milestone%3Av3.3.0>`__. |
| 239 | + |
| 240 | +.. _#1243: https://github.com/robotframework/SeleniumLibrary/issues/1243 |
| 241 | +.. _#1252: https://github.com/robotframework/SeleniumLibrary/issues/1252 |
| 242 | +.. _#1267: https://github.com/robotframework/SeleniumLibrary/issues/1267 |
| 243 | +.. _#1197: https://github.com/robotframework/SeleniumLibrary/issues/1197 |
| 244 | +.. _#1250: https://github.com/robotframework/SeleniumLibrary/issues/1250 |
| 245 | +.. _#1251: https://github.com/robotframework/SeleniumLibrary/issues/1251 |
| 246 | +.. _#1270: https://github.com/robotframework/SeleniumLibrary/issues/1270 |
| 247 | +.. _#1215: https://github.com/robotframework/SeleniumLibrary/issues/1215 |
| 248 | +.. _#1181: https://github.com/robotframework/SeleniumLibrary/issues/1181 |
| 249 | +.. _#1208: https://github.com/robotframework/SeleniumLibrary/issues/1208 |
| 250 | +.. _#1239: https://github.com/robotframework/SeleniumLibrary/issues/1239 |
| 251 | +.. _#1265: https://github.com/robotframework/SeleniumLibrary/issues/1265 |
| 252 | +.. _#979: https://github.com/robotframework/SeleniumLibrary/issues/979 |
| 253 | +.. _#1207: https://github.com/robotframework/SeleniumLibrary/issues/1207 |
| 254 | +.. _#1235: https://github.com/robotframework/SeleniumLibrary/issues/1235 |
| 255 | +.. _#1259: https://github.com/robotframework/SeleniumLibrary/issues/1259 |
0 commit comments