Best Python code snippet using toolium_python
env_utils.py
Source:env_utils.py
...160 """161 step_list = step.split('\n')162 for s in step_list:163 self.logger.by_console(' %s' % repr(s).replace("u'", "").replace("'", ""))164 def __execute_steps_by_action(self, context, action):165 """166 execute a steps set by action167 :param context: Itâs a clever place where you and behave can store information to share around,168 automatically managed by behave.169 :param action: action executed: see labels allowed above.170 """171 if len(self.actions[action]) > 0:172 if action == ACTIONS_BEFORE_SCENARIO:173 self.logger.by_console('\n')174 self.scenario_counter += 1175 self.logger.by_console(176 " ------------------ Scenario Nº: %d ------------------" % self.scenario_counter)177 self.logger.by_console(' %s:' % action)178 elif action in [ACTIONS_BEFORE_FEATURE, ACTIONS_AFTER_FEATURE]:179 self.logger.by_console('\n')180 for item in self.actions[action]:181 self.scenario_error = False182 try:183 self.__print_step_by_console(item)184 context.execute_steps('''%s%s''' % (GIVEN_PREFIX, self.__remove_prefix(item)))185 self.logger.debug('step defined in pre-actions: %s' % repr(item))186 except Exception as exc:187 self.feature_error = action in [ACTIONS_BEFORE_FEATURE]188 self.scenario_error = action in [ACTIONS_BEFORE_SCENARIO]189 self.logger.error(exc)190 self.error_exception = exc191 break192 def reset_error_status(self):193 """194 Check if the dyn_env has got any exception when executing the steps and restore the value of status to False.195 :return: True if any exception has been raised when executing steps196 """197 try:198 return self.feature_error or self.scenario_error199 finally:200 self.feature_error = False201 self.scenario_error = False202 def execute_before_feature_steps(self, context):203 """204 actions before the feature205 :param context: Itâs a clever place where you and behave can store information to share around,206 automatically managed by behave.207 """208 self.__execute_steps_by_action(context, ACTIONS_BEFORE_FEATURE)209 if context.dyn_env.feature_error:210 # Mark this Feature as skipped. Steps will not be executed.211 context.feature.mark_skipped()212 def execute_before_scenario_steps(self, context):213 """214 actions before each scenario215 :param context: Itâs a clever place where you and behave can store information to share around,216 automatically managed by behave.217 """218 if not self.feature_error:219 self.__execute_steps_by_action(context, ACTIONS_BEFORE_SCENARIO)220 if context.dyn_env.scenario_error:221 # Mark this Scenario as skipped. Steps will not be executed.222 context.scenario.mark_skipped()223 def execute_after_scenario_steps(self, context):224 """225 actions after each scenario226 :param context: Itâs a clever place where you and behave can store information to share around,227 automatically managed by behave.228 """229 if not self.feature_error:230 self.__execute_steps_by_action(context, ACTIONS_AFTER_SCENARIO)231 # Behave dynamic environment: Fail all steps if dyn_env has got any error and reset it232 if self.reset_error_status():233 context.scenario.reset()234 context.dyn_env.fail_first_step_precondition_exception(context.scenario)235 def execute_after_feature_steps(self, context):236 """237 actions after the feature238 :param context: Itâs a clever place where you and behave can store information to share around,239 automatically managed by behave.240 """241 self.__execute_steps_by_action(context, ACTIONS_AFTER_FEATURE)242 # Behave dynamic environment: Fail all steps if dyn_env has got any error and reset it243 if self.reset_error_status():244 context.feature.reset()245 for scenario in context.feature.walk_scenarios():246 if scenario.should_run(context.config):247 context.dyn_env.fail_first_step_precondition_exception(scenario)248 raise Exception("Preconditions failed during the execution")249 def fail_first_step_precondition_exception(self, scenario):250 """251 Fail first step in the given Scenario and add exception message for the output.252 This is needed because xUnit exporter in Behave fails if there are not failed steps.253 :param scenario: Behave's Scenario254 """255 try:...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!