36. Test Lifecycle Management, Setup & Teardown Patterns

Lifecycle Context Manager

from contextlib import contextmanager
from selenium import webdriver

@contextmanager
def get_browser():
driver = webdriver.Chrome()
driver.maximize_window()
try:
yield driver
finally:
driver.quit() # Guaranteed teardown!

Task

  • Implement safe_lifecycle_runner(driver_creator, test_func):
  • 1. driver = driver_creator().
  • 2. In try block, call test_func(driver).
  • 3. In finally block, call driver.quit().
πŸ’‘Common doubts
Did you like the problem?
Lesson 36 of 43
Python
Loading code editor…
Next