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"]')