def on_recorder_stop(self): ''' recorder stop time ''' self.results.end_time = Utils.get_datetime_now() self.results.duration = Utils.get_date_result(self.results.begin_time, self.results.end_time) for suite_name in self.results.summary.keys(): self.results.summary[suite_name].begin_time = getattr(self.results.details.get(suite_name), "begin_time") self.results.summary[suite_name].end_time = getattr(self.results.details.get(suite_name), "end_time") self.results.summary[suite_name].duration = getattr(self.results.details.get(suite_name), "duration")
def get_template_customer(path_: str) -> None: path, template = Utils.get_path(path_) j2r = FileSystemLoader(f"{path}") j2r_e = Environment(loader=j2r, trim_blocks=True, lstrip_blocks=True, autoescape=True) j2r_t = j2r_e.get_template(template) return j2r_t
def __init__(self, name: str = ""): super().__init__() self.begin_time = "" self.end_time = "" self.duration = 0 self.passed = 0 self.failed = 0 self.skip = 0 self.error = 0 self.all = 0 self.suite_name = [] self.summary = {} self.details = {} self.name = name self.log_dir = "" self.version = PLATFORM_VERSION self.platform = Utils.get_platform()
def run(self, args): try: self.args = args self._init_logging_module(args) self.case_name = self.args.name self.time_str = Utils.get_time_str() self.case_log_dir = f"{args.log_dir}/{self.case_name}/{self.time_str}" self.runner_count = args.runner_count if args.runner_count else 1 self.only_bus(args) self._start_bus(local=args.bus_server if args.bus_server else False) self._bus_client(args) self._init_system_lock(args) # this only in server bus if not args.bus_server: self._init_system_logger(args.log_dir, self.bus_client) # only : module if args.only_loader: self._start_loader(1, self.bus_client) elif args.only_runner: self._start_runner(self.runner_count, self.case_log_dir, self.bus_client) elif args.only_recorder: self._start_recorder(self.bus_client, self.runner_count, self.case_log_dir, self.time_str) else: self._start_loader(1, self.bus_client) self._start_runner(self.runner_count, self.case_log_dir, self.bus_client) self._start_recorder(self.bus_client, self.runner_count, self.case_log_dir, self.time_str) self.start_main() self.put_loader_msg(args) self.stop_main() self._start_web_server(args) self.wait_end_signal(args) except KeyboardInterrupt as key_inter: logger.error(key_inter) except FailLoaderException as loader_inter: logger.error(loader_inter) except FailRecorderException as recorder_inter: logger.error(recorder_inter) except FailRunnerException as runner_inter: logger.error(runner_inter) except FailFrameworkException as frame_inter: logger.error(frame_inter)
def add_result_to_suite(self, result): ''' add result to suite which case belong to. ''' if result.case.bench_name not in self.results.suite_name: self.results.suite_name.append(result.case.bench_name) case = result.case suite = Detail(case.bench_name) suite.begin_time = result.begin_time else: # find suite here for suite in self.results.details.values(): if suite.suite_name == result.case.bench_name: suite = suite break suite.end_time = result.end_time suite.duration = Utils.get_date_result(suite.begin_time, suite.end_time) suite.cases.append(result) self.results.details[result.case.bench_name] = suite
def test_1(self, params): print(f"[{params}]start at", datetime.now().strftime("%H:%M:%S")) time_begin = datetime.now() print(params) data_request = { "request_header": {}, "request_data": {}, "method": "get", "host_port": "www.baidu.com", # "url": "/v1/front/keng/?building_id=2&location_id=1" "url": "" } time_temp = datetime.now() print(f"1:{datetime.now()-time_begin}") self.request.constructor(data_request) self.response = Utils.http_request(self.request) print(f"2:{datetime.now()-time_temp}") assert self.response.code == 200 print(f"[{params}]end at", datetime.now().strftime("%H:%M:%S")) print(f"{datetime.now()-time_begin}")
def on_recorder_start(self): ''' recorder start time ''' self.results.begin_time = Utils.get_datetime_now()
# here : bus server <- password@host:port if args.bus_server: if "@" in args.bus_server and ":" in args.bus_server: password, temp = args.bus_server.split("@") host, port = temp.split(":") args.bus_server = [ bytes(password, encoding='utf-8'), host, int(port) ] # here : case <- dir/file if args.case: case_path = args.case args.case = [] args.case = Utils.load_case_from_dir(case_path) # here filter not in config if isinstance(args.filter_case, str): args.filter_case = args.filter_case.split(',') print(args) main_program = Program() main_program.run(args) elif args.all == "init": print(args) helper = Helper() helper.init_workspace() elif args.all == "help": Helper.print_help() else:
def on_case_end(self): self.end_time = Utils.get_datetime_now() self.duration = Utils.get_date_result(self.begin_time, self.end_time)
def on_case_begin(self): self.begin_time = Utils.get_datetime_now()