コード例 #1
0
def before_scenario(context, scenario):
    """
    Before scenario hook.
    Create folder for screenshot, open browser, set Full HD resolution and place browser in test context.
    Also start allure test case.
    Will be executed in the beginning of every scenario in .feature file.
    Context and scenario injected automatically by Behave
    :type context: behave.runner.Context
    :type scenario: behave.model.Scenario
    """
    Logger.create_test_folder(scenario.name)
    logger = logging.getLogger(__name__)

    try:
        context.allure.start_case(scenario.name,
                                  labels=LabelsList([
                                      TestLabel(name=Label.FEATURE,
                                                value=scenario.feature.name)
                                  ]))
    except Exception:
        logger.error('Failed to init allure test with name: {}'.format(
            scenario.name))
        raise

    context.test_name = scenario.name

    if context.browser is None:
        try:
            # use in constructor service_args=['--webdriver-logfile=path_to_log'] to debug deeper...
            context.browser = Config.browser_types[Config.BROWSER]()
            context.browser.set_window_size(1920, 1080)
        except Exception:
            logger.error('Failed to start browser: {}'.format(Config.BROWSER))
            raise
    logger.info('Start of test: {}'.format(scenario.name))
コード例 #2
0
def before_scenario(context, scenario):
    """
    Before scenario hook.
    Create folder for screenshot, open browser, set Full HD resolution and place browser in test context.
    Also start allure test case.
    Will be executed in the beginning of every scenario in .feature file.
    Context and scenario injected automatically by Behave
    :type context: behave.runner.Context
    :type scenario: behave.model.Scenario
    """
    Logger.create_test_folder(scenario.name)
    logger = logging.getLogger(__name__)

    try:
        context.allure.start_case(scenario.name,
                                  labels=LabelsList([TestLabel(name=Label.FEATURE, value=scenario.feature.name)]))
    except Exception:
        logger.error('Failed to init allure test with name: {}'.format(scenario.name))
        raise

    context.test_name = scenario.name

    if context.browser is None:
        try:
            # use in constructor service_args=['--webdriver-logfile=path_to_log'] to debug deeper...
            context.browser = DriverManger.getDriver()
            # context.browser.set_window_size(1920, 1080)
        except Exception:
            logger.error('Failed to start browser: {}'.format(Config.BROWSER))
            raise
    logger.info('Start of test: {}'.format(scenario.name))
コード例 #3
0
def before_scenario(context, scenario):
    """
    Before scenario hook.
    Create folder for screenshot, open browser, set Full HD resolution and place browser in test context.
    Will be executed in the beginning of every scenario in .feature file.
    Context and scenario injected automatically by Behave
    :type context: behave.runner.Context
    :type scenario: behave.model.Scenario
    """
    Logger.create_test_folder(scenario.name)
    logger = logging.getLogger(__name__)

    if context.browser is None:
        try:
            if Config.BROWSERTYPE == 'Local':
                if Config.BROWSERNAME == 'Chrome':
                    context.browser = Config.browser_types[Config.BROWSERNAME](
                        chrome_options=Config.CHROME_OPTIONS)
                    context.browser.set_window_size(1920, 1080)
                if Config.BROWSERNAME == 'Firefox':
                    context.browser = Config.browser_types[
                        Config.BROWSERNAME]()
                    context.browser.set_window_size(1920, 1080)
                if Config.BROWSERNAME == 'Edge':
                    context.browser = Config.browser_types[
                        Config.BROWSERNAME]()
                    context.browser.set_window_size(1920, 1080)
            elif Config.BROWSERTYPE == 'Remote':
                url = "https://" + context.lt_username + ":" + context.lt_access_key + "@hub.lambdatest.com/wd/hub"
                desired_cap = {
                    "platform": Config.PLATFORM,
                    "browserName": Config.BROWSERNAME,
                    "version": Config.VERSION,
                    "resolution": "1920x1080",
                    "name": scenario.name,
                    "build": context.build,
                    "tunnel": True,
                    "tunnelName": context.lt_tunnel,
                    "console": True,
                    "network": False,
                    "visual": True
                }
                context.browser = Config.browser_types[Config.BROWSERTYPE](
                    desired_capabilities=desired_cap, command_executor=url)
            else:
                print('Wrong type of browser')
        except Exception:
            logger.error('Failed to start browser: {}'.format(
                Config.BROWSERNAME))
            raise

    logger.info('Start of test: {}'.format(scenario.name))
コード例 #4
0
def before_scenario(context, scenario):
    Logger.create_test_folder(scenario.name)
    logger = logging.getLogger(__name__)

    context.test_name = scenario.name

    if context.browser is None:
        try:
            # use in constructor service_args=['--webdriver-logfile=path_to_log'] to debug deeper...
            context.browser = Config.browser_types[Config.BROWSER]()
            context.browser.set_window_size(1920, 1080)
        except Exception:
            logger.error('Failed to start browser: {}'.format(Config.BROWSER))
            raise

    logger.info('Start of test: {}'.format(scenario.name))