コード例 #1
0
ファイル: conftest.py プロジェクト: healthverity/circleci_poc
def _driver_manager(request):
    """
    Provides an instance of BaseDriver as a fixture to allow use of other fixtures.
    Mimics the set for the built-in sb fixture from SeleniumBase so that certain SeleniumBase
    features work properly, like screenshots at end of tests & on failure.
    """
    if request.cls:
        request.cls.sb = BaseDriver('base_method')
        request.cls.sb.setUpClass()
        request.cls.sb.setUp()
        request.cls.sb._needs_tearDown = True
        sb_config._sb_node[request.node.nodeid] = request.cls.sb
        yield request.cls.sb
        if request.cls.sb._needs_tearDown:
            request.cls.sb.tearDown()
            request.cls.sb._needs_tearDown = False
    else:
        rdriver = BaseDriver('base_method')
        rdriver.setUpClass()
        rdriver.setUp()
        rdriver._needs_tearDown = True
        sb_config._sb_node[request.node.nodeid] = rdriver
        yield rdriver
        if rdriver._needs_tearDown:
            rdriver.tearDown()
            rdriver._needs_tearDown = False