def save(self, context, details, logger): """ :param context: :param details: :param logger: """ if hasattr(context.submit, 'report') and context.submit.report: name = context.submit.report elif hasattr(context.submit, 'name') and context.submit.name: name = context.submit.name else: name = 'Clover测试平台报告' end = datetime.datetime.now() report = { 'team': context.submit.team, 'project': context.submit.project, 'name': name, 'type': 'interface', 'platform': get_system_info(), 'start': friendly_datetime(self.start), 'end': friendly_datetime(end), 'duration': (end - self.start).total_seconds(), 'interface': self.get_interface_statistics(details), 'detail': details, 'log': self.get_log(context, logger), } service = ReportService() result = service.create(report) return result
def info(self): """ :param data: :return: """ info = { **get_system_info(), 'python-dependency': get_python_dependency() } return jsonify({ 'status': 0, 'message': 'clover平台版本与依赖信息。', 'data': info })
def info(self): """ :param data: :return: """ try: info = { **get_system_info(), 'python-dependency': get_python_dependency() } return jsonify({ 'status': 0, 'message': 'clover平台版本与依赖信息。', 'data': info }) except Exception as error: return jsonify({ 'status': 500, 'message': '运行出错,请联系管理员!', 'data': str(error) })
def interface_task(cases, data, report): from clover import app with app.test_request_context(): executor = Executor(log=report['id']) executor.execute(cases, data) try: if 'report' in data and data['report']: #正常传了report,平台触发的 name = data['report'] elif data['report'] == '' and data[ 'name'] != '': #没写report名,但是有套件名,平台触发的 name = data['name'] except Exception as error: name = 'ci-AutoTest' #name = data['report'] if 'report' in data and data['report'] else data['name'] update_report = { 'id': report['id'], 'team': data['team'], 'project': data['project'], 'name': name, 'type': 'interface', 'interface': executor.interface, 'start': executor.start, 'end': executor.end, 'duration': (executor.end - executor.start).total_seconds(), 'platform': get_system_info(), 'detail': executor.result, } report_service = ReportService() report_service.update(update_report) events = 'success' if executor.interface[ 'passed'] == executor.interface['total'] else 'failed' notify(update_report, events) return report