History¶
1.5.4 (2023-04-19)¶
Added some support for Shadow DOM.
1.5.3 (2023-01-04)¶
Added a more robust scroll method based on Element.scrollIntoView. The old method can be used instead by setting
scroll_method = "legacyWindowScrollTo"
on a test case.
1.5.2 (2022-09-21)¶
Added
expect_alert
toclick()
, plusaccept_alert()
anddismiss_alert()
Added
assertion_passes
utility as a convenience for using withwait_until()
1.5.1 (2022-09-12)¶
Fixed edge case with
<script>
parsing.Added auto-waiting in
assertTextPresent()
for Selenium tests.Added
scroll
parameter tosubmit()
andfill()
, along with and theauto_scroll_by_default
attribute.
1.5 (2022-08-22)¶
Added the ability to do
shortcut_login()
with just a user object (no password needed).Added
within
parameter toassertTextPresent()
andassertTextAbsent()
.This brings a small backwards incompatibility. If you were using these methods to do assertions on something outside the body element, such as the
<title>
element inside<head>
, those assertions will now fail. You can pass something likewithin="title"
for those cases.Added the ability to
submit()
a form by specifying the form element itself, rather than a button.Added Writing tests interactively with a browser documentation.
Lots of internal cleanups and layout reorg, including switching to pytest for our own test suite.
1.4.1 (2022-07-12)¶
Fixed crasher with Selenium 4.3 due to removed method.
1.4 (2022-04-12)¶
Fixed bug with
get_session_data()
not being empty aftershortcut_logout
when using signed cookies backend.
1.3 (2022-02-15)¶
Added
get_element_inner_text()
Added
get_element_attribute()
.Fixed bugs with
follow_link()
and path-relative URLsAdded support for Python 3.10
Dropped support for Python 3.6. This is because:
The new
get_element_attribute
required Selenium >= 4, which is not available for Python 3.6 and belowPython 3.6 is now End Of Life
1.2 (2022-01-25)¶
Removed need for PyVirtualDisplay, by using “headless” options instead.
Dropped support for Python 2.7 and Django < 2.0 (!)
Dropped support for Python 3.5
Fixed
set_session_data
when using signed cookies session backend.
1.1.1 (2021-09-23)¶
Fixed test suite failure under Django 3.2
Fixed warnings emitted under recent Django due to deprecations.
Tested under Django 4.0a1
1.1 (2020-01-06)¶
Fixes for various things that broke with more recent versions Firefox/Chrome/geckodriver/chromedriver etc.
It is possible that if you are on older versions of Firefox you may have regressions or different behaviour with handling of linebreaks e.g. sending
\r\n
into textarea.
Installation fix so that it can be installed with poetry
Tested against more recent Django versions (up to 3.1), and fixed issues.
Dropped support for Python 3.3 and 3.4
Dropped support for Django 1.8, 1.9, 1.10 (which seemed to be broken anyway?)
1.0.4¶
Fixed bug with setting checkboxes if a form had multiple checkboxes of the same name
Enabled installation on PyPy (doesn’t necessarily work completely).
Test against Django 2.1
Removed tests and official support for PhantomJS. (No actual functionality was changed regarding PhantomJS).
1.0.3¶
Deprecated
fill_by_id
. Instead offill_by_id({'foo': 'bar'})
you should dofill({'#foo': 'bar'})
, because it is shorter and more flexible.Test against latest Firefox
Django 2.0 compatibility
Fix for Django 1.11.2 and later for MultiThreadedLiveServerMixin
1.0.2¶
Fixes to cope with WebTest 2.0.28. We now require django-webtest 1.9.2 or later, and only test against the latest WebTest.
Fixed some deprecation warnings
1.0.1¶
Fixed incompatibility with django-webtest 1.9.0 and later
1.0¶
Added Django 1.11 support.
Dropped official Django 1.7 support (may still work).
0.2.1¶
Made
get_literal_url()
accept absolute URLs for Selenium (WebTest already worked by accident).
0.2.0¶
Added
new_browser_session()
andswitch_browser_session()
to the common API. These can be used to simulate multiple devices or users accessing the site. See the docs for important usage information.
0.1.9¶
Fix for scrolling to exactly the right place.
Added docstrings everywhere, and a base class you can inherit from for the purpose of providing autocomplete help.
0.1.8¶
Django 1.10 compatibility
0.1.7¶
Fixed performance/reliability issue caused by browsers attempting to retrieve
/favicon.ico
after visitingemptypage
.
0.1.6¶
Fixed bug where elements wouldn’t scroll into view if html height is set to 100%
New method
get_webdriver_options()
for customizing WebDriver behaviour.
0.1.5¶
Added get_session_data()
Improved reliability of
FuncSeleniumMixin.get_literal_url()
Allow
<select>
elements to be set using integers for values.Fixed issues with
.value()
for radio buttons and text areasFixed bug with setting radio buttons when there are more than one set of radio buttons in the form.
0.1.4¶
Added support for file uploads
0.1.3¶
Support for filling radio buttons
More convenient support for quotes and apostrophes (” ‘) in text assertion methods.
0.1.2¶
Fixed wheel building - again!
0.1.1¶
Fixed packaging bug that caused wheels to fail on Python 3.
0.1.0¶
First release on PyPI.