MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / clean_driver

Function clean_driver

py/conftest.py:671–697  ·  view source on GitHub ↗
(request)

Source from the content-addressed store, hash-verified

669
670@pytest.fixture
671def clean_driver(request):
672 _supported_drivers = SupportedDrivers()
673 try:
674 driver_class = getattr(_supported_drivers, request.config.option.drivers[0].lower())
675 except (AttributeError, TypeError):
676 raise Exception("This test requires a --driver to be specified.")
677 driver_reference = getattr(webdriver, driver_class)
678
679 # conditionally mark tests as expected to fail based on driver
680 marker = request.node.get_closest_marker(f"xfail_{driver_class.lower()}")
681 # Also check for xfail_remote when running with --remote
682 if marker is None and request.config.getoption("remote"):
683 marker = request.node.get_closest_marker("xfail_remote")
684 if marker is not None:
685 kwargs = dict(marker.kwargs)
686 if "run" in kwargs:
687 if not kwargs["run"]:
688 pytest.skip()
689 yield
690 return
691 kwargs.pop("raises", None)
692 pytest.xfail(**kwargs)
693
694 yield driver_reference
695
696 if request.node.get_closest_marker("no_driver_after_test"):
697 driver_reference = None
698
699
700@pytest.fixture

Calls 2

SupportedDriversClass · 0.85
skipMethod · 0.80

Tested by

no test coverage detected