Skip to content

Commit 3cfab69

Browse files
committed
Release notes for 3.3.0
1 parent 8120ef4 commit 3cfab69

File tree

1 file changed

+255
-0
lines changed

1 file changed

+255
-0
lines changed

docs/SeleniumLibrary-3.3.0.rst

Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
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

Comments
 (0)