Releases: seleniumbase/SeleniumBase
Fix Python 3 Logging Issue
Log files were missing when running tests tests in Python 3 due to differences in method functionality between Python 2 and Python 3. These changes will allow the logs to be complete when running tests using Python 3 pytest or nosetests.
Requirements Lockdown
Freeze most requirements to prevent conflicts with future versions. Sometimes later versions of some Python libraries have bugs, and that could pose a problem for SeleniumBase if I haven't had the opportunity to run tests using the newer versions of Python libraries.
Remove unused requirement
Removing urllib3 from requirements. It's no longer used anywhere in SeleniumBase.
Requirements update
Updating several dependencies for SeleniumBase.
Updates include: setuptools, pytest, requests, urllib3, and pytest-html
Python 3 Compatibility
Making the jump to Python 3! (You can still use Python 2.7!) Both versions are now supported.
This is BIG news: SeleniumBase now supports both Python 2.7 and Python 3.*
These changes have merited a version jump from 1.3.27 to 1.4.0 to mark the special occasion.
Upgrade to BeautifulSoup4
Going from BeautifulSoup to BeautifulSoup4
(This is a Python HTML-parsing library)
Improve the check_assert system
The check_assert system may have been confusing to SeleniumBase users. It was built to allow a test to make multiple assertions on a page without raising any test failures until all desired check_asserts were called and then self.process_checks() called after that.
The check_asserts include self.check_assert_element() and self.check_assert_text().
Rather than fail a test immediately after the first assertion failure, the test failure is delayed until later when more assertions have been made. The issue arose when SeleniumBase users called the check_assert methods in their tests without calling self.process_checks() afterward. This led to tests that had failed assertions that were never raised at the end of the test, giving the test a Pass instead of a Fail when it should be failing. Now, self.process_checks() will automatically get called in the tearDown() phase at the end of each test if there are any check_assert exceptions that were never raised by a self.process_checks() call from inside the test, assuming that the end of the test is reached without any other exceptions getting raised, such as ones from all the regular assert statements.
Disable feature where Chrome asks to save passwords
Disable feature where Chrome asks to save passwords. (The pop-up breaks Selenium scripts)
Update requirements
Update versions of setuptools, ipython, selenium, and pytest
Better error-handling for pytest teardowns
Better error-handling for pytest teardowns