Releases: seleniumbase/SeleniumBase
Releases · seleniumbase/SeleniumBase
2.4.23
Perform Windows and Edge optimizations
- Check for service process before driver.quit() on Windows
-- (This prevents a hanging process during cleanup if a driver was already quit. Sometimes people forget that SeleniumBase already quits drivers automatically at the end of tests, so if they manually try to quit a driver during a test, then during the cleanup phase there would be a hanging process on Windows when SeleniumBase tries to quit the driver again. Now, a check is performed to find out if drivers have already been quit.)
-- (In the case of tests that spin up multiple drivers usingself.get_new_driver()
, in SeleniumBase2.4.22
, a new method was added:self.quit_extra_driver()
, which quits extra drivers safely, and then removes those drivers from the list of drivers to be quit automatically at the end of tests.) - Update default EdgeDriver version if can't detect latest
2.4.22
Add a new method / Refresh dependencies / Do some refactoring
- Add new method: quit_extra_driver()
- Improve exception-handling for ElementClickInterceptedException
- Handle a special edge case where the user overrides get_new_driver()
- Refresh Python dependencies
--pytest==7.1.1;python_version>="3.7"
--setuptools>=60.10.0;python_version>="3.7"
--urllib3==1.26.9
def quit_extra_driver(self, driver=None):
""" Quits the driver only if it's not the default/initial driver.
If a driver is given, quits that, otherwise quits the active driver.
Raises an Exception if quitting the default/initial driver.
Should only be called if a test has already called get_new_driver().
Afterwards, self.driver points to the default/initial driver
if self.driver was the one being quit.
----
If a test never calls get_new_driver(), this method isn't needed.
SeleniumBase automatically quits browsers after tests have ended.
Even if tests do call get_new_driver(), you don't need to use this
method unless you want to quit extra browsers before a test ends.
----
Terminology and important details:
* Active driver: The one self.driver is set to. Used within methods.
* Default/initial driver: The one that is spun up when tests start.
Initially, the active driver and the default driver are the same.
The active driver can change when one of these methods is called:
> self.get_new_driver()
> self.switch_to_default_driver()
> self.switch_to_driver()
> self.quit_extra_driver()
"""
Improve Demo Mode highlighting
Improve Demo Mode highlighting
- Handle special cases of when the selector contains
[style="
orbox-shadow:
because Demo Mode will change those values as it highlights elements with a box-shadow.
2.4.20
Several small updates
- Better error-handling for Demo Mode JS methods
- Update a method that returns a unique selector for JS calls
- Update .gitignore and the "sbase mkdir DIR" test directory generator
- Add "sbase record": Calls "sbase mkrec" if has args, or "sbase recorder" if no args
- Add "--overwrite" option when calling "sbase mkrec FILE"
- Recorder: Display error message if naming a file "abc.py" (reserved Python module)
- Refresh Python dependencies
- Update example tests
Add some type-checking and update dependencies
Add some type-checking and update dependencies
Refresh Python dependencies
Refresh Python dependencies
- Refresh Python dependencies
--pip>=22.0.4;python_version>="3.7"
--selenium==4.1.3;python_version>="3.7"
Improve Recorder Mode and click_with_offset()
Improve Recorder Mode and click_with_offset()
Add "click_with_offset()" method
Refresh Python dependencies
Refresh Python dependencies
Refresh Python dependencies
Refresh Python dependencies
setuptools>=60.9.1;python_version>="3.7"
filelock==3.5.0;python_version>="3.7"
- (See 49f8577)