def init(formatter): try: action_loader.load_actions() except LoadError as e: print_error_list(formatter, "action import: ", e) try: template.load_customtests() except LoadError as e: print_error_list(formatter, "customtests import: ", e) try: template.load_customfilters() except LoadError as e: print_error_list(formatter, "customfilters import: ", e) if option.config_file: formatter.debug("config file: " + option.config_file) config_loader = ConfigLoader(option.config_file) config_loader.setup_klass(action_loader.get_all_action_map()) env = {"formatter": formatter} env.update(action_loader.get_all_action_map()) return env
def init(formatter): action_loader.load_actions() for error in action_loader.load_error_list: formatter.debug("action import: " + unicode(error)) if option.config_file: formatter.debug("config file: " + option.config_file) config_loader = ConfigLoader(option.config_file) config_loader.apply_config_to_klass(action_loader.get_all_action_map()) env = {"formatter": formatter} env.update(action_loader.get_all_action_map()) return env
def __init__(self, global_env): cmd.Cmd.__init__(self) self.global_env = global_env self.scenario = None # cmd.Cmd クラスで do_hogehoge 関数を定義すると、 # hogehoge コマンドを補完してくれる # 合わせて complete_hogehoge 関数を定義すると # hogehoge fuga と入力中に fuga の部分を補完してくれる setattr(CUI, "do_action: ", self._do_action) setattr(CUI, "complete_action:", self._complete_action) CUI.identchars += ':' self.action_complete = [] self.action_param_complete = {} for action_name, action_klass in action_loader.get_all_action_map().items(): for method in dir(action_klass): method_obj = getattr(action_klass, method) if method.startswith('do_') and callable(method_obj): args = inspect.getargspec(method_obj).args args = self.remove_item(args, ['self', 'scenario', 'global_env']) args.extend(["assert", "assertex"]) method = method.replace('do_', '') if method == action_name: action_key = action_name else: action_key = action_name + '.' + method self.action_complete.append(action_key) self.action_param_complete[action_key] = args
def main(): action_loader.load_actions() global_env = {} global_env.update(action_loader.get_all_action_map()) if option.config_file: print("using config file: " + option.config_file) config_loader = ConfigLoader(option.config_file) config_loader.apply_config_to_klass(action_loader.get_all_action_map()) for target in option.targets: try: print "" print "[running]", target scenario = scenario_loader.load_file(target) scenario.run(global_env) except ActionException as e: print "--------------------------" print(e.stack_trace) print(e.original) print "--------------------------"
def teardown(): for action_klass in action_loader.get_all_action_map().values(): teardown_method = type.__getattribute__(action_klass, 'teardown') teardown_method()