code: def before_scenario(context, scenario):
      
      # Configure reset properties from behave tags
      if 'no_reset_app' in scenario.tags:
          os.environ["AppiumCapabilities_noReset"] = 'true'
          os.environ["AppiumCapabilities_fullReset"] = 'false'
      elif 'reset_app' in scenario.tags:
          os.environ["AppiumCapabilities_noReset"] = 'false'
          os.environ["AppiumCapabilities_fullReset"] = 'false'
      elif 'full_reset_app' in scenario.tags:
          os.environ["AppiumCapabilities_noReset"] = 'false'
          os.environ["AppiumCapabilities_fullReset"] = 'true'
  
      # Force to reset driver before each scenario if it has @reset_driver tag
      if 'reset_driver' in scenario.tags:
          DriverWrappersPool.stop_drivers()
          DriverWrappersPool.download_videos('multiple tests', context.global_status['test_passed'])
          DriverWrappersPool.save_all_ggr_logs('multiple tests', context.global_status['test_passed'])
          DriverWrappersPool.remove_drivers()
          context.global_status['test_passed'] = True
  
      # Skip android_only or ios_only scenarios
      if 'android_only' in scenario.tags and context.driver_wrapper.is_ios_test():
          scenario.skip('Android scenario')
          return
      elif 'ios_only' in scenario.tags and context.driver_wrapper.is_android_test():
          scenario.skip('iOS scenario')
          return
  
      # Read @no_driver tag
      no_driver = 'no_driver' in scenario.tags or 'no_driver' in scenario.feature.tags
  
      bdd_common_before_scenario(context, scenario, no_driver)
  
      # Behave dynamic environment
      context.dyn_env.execute_before_scenario_steps(context)
docs: Scenario initialization
  
      :param context: behave context
      :param scenario: running scenario