Releases: seleniumbase/SeleniumBase
Releases · seleniumbase/SeleniumBase
3.5.7 - Update Default Firefox Preferences
Update Default Firefox Preferences
- Update default Firefox preferences
- Update Firefox error-handling
- Refactoring
--> Useos.devnullinstead ofos.path.devnullwhere used.
--> Callingraisecan be done without args. (Uses the last Exception in a try/except block).
3.5.6 - Handle edge cases after successful actions and refresh dependencies
Handle edge cases after successful actions and refresh dependencies
- Handle edge cases after successful actions
--> Resolves #1421
--> (Handlescannot determine loading statusandunexpected command response) - Refresh dependencies to officially allow Python 3.11 and up
--> Resolves #1420
3.5.5 - Add a debugging option and improve reliability
Add a debugging option and improve reliability
- Add pytest option "--list-fail-page" to list URLs of failures
--> This resolves #1417 - Improve the reliability of js_click(selector)
--> This resolves #1418
3.5.4 - Handle edge cases with EdgeDriver and js_click()
Handle edge cases with EdgeDriver and js_click()
- Handle edge cases with EdgeDriver
--> This resolves #1415 - Handle edge cases with js_click()
--> This resolves #1416
3.5.3 - Reliability updates for Firefox and js_click()
Reliability updates for Firefox and js_click()
3.5.2 - Reduce required Python dependencies
Reduce required Python dependencies
3.5.1 - Add a Context Manager method for switching into iframes using a "with" statement
Add a Context Manager method for switching into iframes using a with statement
- Add Context Manager frame_switch(frame). ("with" required)
- This resolves #1408
- Example usage:
with self.frame_switch(frame):
Here's an example test that demonstrates this feature:
from seleniumbase import BaseCase
class FrameTests(BaseCase):
def test_iframes_with_context_manager(self):
self.open("https://seleniumbase.io/w3schools/iframes.html")
with self.frame_switch("iframeResult"):
self.assert_text("HTML Iframes", "h2")
with self.frame_switch('[title*="Iframe"]'):
self.assert_text("This page is displayed in an iframe", "h1")
self.assert_text("Use CSS width & height to specify", "p")
with self.frame_switch('[title*="Iframe"]'):
self.assert_text("seleniumbase.io/w3schools/iframes", "a")
self.click("button#runbtn")
with self.frame_switch("iframeResult"):
self.highlight('iframe[title="Iframe Example"]')3.5.0 - Drop support for Python 3.5
Drop support for Python 3.5
- Drop support for Python 3.5
--> This resolves #1404
--> (Note: Python 2.7 will continue to be supported for now.)
3.4.1 - More JS. Less jQuery.
More JS. Less jQuery.
- Switch
drag_and_drop()to use pure JS over jQuery by default.
--> More JS, Less jQuery (Drag-and-Drop)
--> This resolves #1402 - Improve reliability for webdriver downloads
- Refresh Python dependencies
3.4.0 - Multiple updates
Multiple updates
- Add option to enable Chromium's "Do-Not-Track" feature
--> Usage:pytest --do-not-track
--> This resolves #1395 - Prevent implicit waiting when overriding "get_new_driver()"
--> This resolves #1396 - Perform optimizations on "select_option_by_*()" methods
--> This resolves #1397 - Make updates to the ASCII art SeleniumBase Logo
--> This resolves #1398 - Add method: "is_element_clickable(selector)"
--> This resolves #1399 - Add more time for "jQuery" to load if a method needs it
- Update the Dockerfile
- Optimize Javascript commands
- Refresh Python dependencies