Manager API
je_web_runner.manager.webrunner_manager
Class: WebdriverManager
Manages multiple WebDriver instances for parallel browser automation.
Attributes:
webdriver_wrapper(WebDriverWrapper): WebDriver operations wrapperwebdriver_element(WebElementWrapper): element operations wrappercurrent_webdriver(WebDriver | None): currently active WebDriver
Methods:
def new_driver(self, webdriver_name: str, options: List[str] = None, **kwargs) -> None:
"""
Create a new WebDriver instance and add it to the managed list.
:param webdriver_name: browser name [chrome, chromium, firefox, edge, ie]
:param options: browser startup arguments (e.g., ["--headless"])
:param kwargs: additional parameters passed to set_driver()
"""
def change_webdriver(self, index_of_webdriver: int) -> None:
"""
Switch the active WebDriver to the one at the given index.
:param index_of_webdriver: index in the internal WebDriver list
"""
def close_current_webdriver(self) -> None:
"""Close and remove the currently active WebDriver."""
def close_choose_webdriver(self, webdriver_index: int) -> None:
"""
Close a specific WebDriver by index.
:param webdriver_index: index in the internal WebDriver list
"""
def quit(self) -> None:
"""
Close and quit ALL managed WebDriver instances.
Also cleans up all TestObjectRecord entries.
"""
Factory Function
def get_webdriver_manager(webdriver_name: str, **kwargs) -> WebdriverManager:
"""
Get the global WebdriverManager and create a new driver.
:param webdriver_name: browser name [chrome, chromium, firefox, edge, ie]
:param kwargs: additional parameters (e.g., options)
:return: global WebdriverManager instance
"""
Global Instance
web_runner = WebdriverManager()