code: async def step(self, step_id, session, scenario=None):
          
          if scenario is None:
              scenario = pick_scenario(self.wid, step_id)
          try:
              await self.send_event('scenario_start', scenario=scenario)
  
              await scenario['func'](session, *scenario['args'],
                                     **scenario['kw'])
  
              await self.send_event('scenario_success', scenario=scenario)
  
              if scenario['delay'] > 0.:
                  await cancellable_sleep(scenario['delay'])
              return 1
          except Exception as exc:
              await self.send_event('scenario_failure',
                                    scenario=scenario,
                                    exception=exc)
              if self.args.verbose > 0:
                  self.console.print_error(exc)
                  await self.console.flush()
  
          return -1
docs: single scenario call.
  
          When it returns 1, it works. -1 the script failed,
          0 the test is stopping or needs to stop.