def assert_info(data, rs): Assertion.verity(rs['risk_strategy']['status_des'], '成功返回数据', data) Assertion.verity(rs['risk_strategy']['status_id'], '100', data) Assertion.verity(rs['risk_score']['status_des'], '成功返回数据', data) Assertion.verity(rs['risk_score']['status_id'], '100', data) if data['评分规则名称'].strip(' ') != '' and data['评分规则结果'].strip(' ') != '': for result_info_key, result_info_value in rs['risk_score']['data'][ 'result_info'].items(): if result_info_value['desc'] == data['评分规则名称']: score_result = rs['risk_score']['data']['result_info'][ result_info_key]['result'] break else: message = "失败原因: 找不到描述信息为【{1}】的规则名称,测试数据【{0}】".format( data, data['评分规则名称']) raise Assertion.MyError(message) Assertion.verity(score_result, float(data['评分规则结果']), data) if data['风险策略编号'].strip(' ') != '' and data['风险策略结果'].strip(' ') != '': my_num = str(int(FileUtils.str_to_num(data['风险策略编号'])) - 1) try: strategy_result = rs['risk_strategy']['data']['result_info'][ my_num]['result'] except Exception as e: message = "测试数据【{1}】,失败原因: 找不到['risk_strategy']['data']['result_info']" \ "['{2}']['result'],定位:【{0}】".format(e, data, my_num) raise Assertion.MyError(message) Assertion.verity(strategy_result, FileUtils.str_to_bool(data['风险策略结果']), data)
def test_Aiapi20_machine_review(self, data): LOGGER.info(data) LOGGER.info( ('开始执行【{0}】第【{1}】条测试用例:【{2}】'.format(data['sheet'], data['序号'], data['描述'])).center(80, '-')) t1 = time.clock() params = copy.deepcopy(ai_config.demo) if any(True if ext in data["修改key"] else False for ext in [',', ',']): keys = re.split('[,,]', re.sub('\s+', '', data["修改key"])) values = re.split('[,,]', re.sub('\s+', '', data["修改值"])) if len(keys) == len(values): for i in range(len(keys)): choose_sheet(params, data['sheet'], keys[i], values[i]) else: raise IndexError("修改key 和修改值长度不一致,【{}】".format(data)) else: choose_sheet(params, data['sheet'], data["修改key"], data["修改值"]) rs = json.loads( AiapiAction.test_risk_strategy(data=params, scene_id=ai_config.scene_id, version=ai_config.version)) Assertion.verity(rs['risk_strategy']['status_des'], '成功返回数据', data) Assertion.verity(rs['risk_strategy']['status_id'], '100', data) Assertion.verity(rs['risk_score']['status_des'], '成功返回数据', data) Assertion.verity(rs['risk_score']['status_id'], '100', data) if re.sub('\s+', '', data['评分规则名称']) != '': for result_info_key, result_info_value in rs['risk_score']['data'][ 'result_info'].items(): if result_info_value['desc'] == data['评分规则名称']: score_result = rs['risk_score']['data']['result_info'][ result_info_key]['result'] break else: message = "失败原因: 找不到描述信息为【{1}】的规则名称,测试数据【{0}】".format( data, data['评分规则名称']) raise Assertion.MyError(message) Assertion.verity(score_result, float(data['评分规则结果']), data) if re.sub('\s+', '', data['风险策略编号']) != '': my_num = str(int(FileUtils.str_to_num(data['风险策略编号']))) try: strategy_result = rs['risk_strategy']['data']['result_info'][ my_num]['result'] except Exception as e: message = "测试数据【{1}】,失败原因: 找不到['risk_strategy']['data']['result_info']" \ "['{2}']['result'],定位:【{0}】".format(e, data, my_num) raise Assertion.MyError(message) Assertion.verity(strategy_result, FileUtils.str_to_bool(data['风险策略结果']), data) LOGGER.info(('【{0}】第【{1}】条测试用例:【{3}】执行完成,执行时间【{2}】'.format( data['sheet'], data['序号'], float(time.clock() - t1), data['描述'])).center(80, '-'))