def response_jiemi_dict(response): response_dict = json_to_dict(response) base64_value = jiexi_json(response_dict, "interface.data.content") value_dict = json_to_dict(decode_base64(base64_value)) response_dict = inster_new_json(response_dict, "interface.data.content", value_dict) return response_dict
def get_req_data(api_all): """ 对报文进行aes加密 """ global_data = api_all.get("global_data").replace("\n", "").replace("\t", "") interfaceCode = api_all.get("interfaceCode") dataExchangeId = "DZFPQZ" + interfaceCode + get_time( time_type="%Y%m%d") + get_random_num(9) req_data = api_all.get("data") appid = api_all.get("other_data").get("appid") aeskey = api_all.get("other_data").get("aeskey") content = encode_base64(req_data).replace("\n", "").replace("\t", "") contentKey_sha256hex = sha256hex(content) contentKey_aes = Aes_ECB(aeskey).AES_encrypt(contentKey_sha256hex) global_data_dict = json_to_dict(global_data) global_data_dict = inster_new_json(global_data_dict, "interface.globalInfo.appId", appid) global_data_dict = inster_new_json(global_data_dict, "interface.globalInfo.interfaceCode", interfaceCode) global_data_dict = inster_new_json(global_data_dict, "interface.globalInfo.dataExchangeId", dataExchangeId) global_data_dict = inster_new_json(global_data_dict, "interface.data.content", content) global_data_dict = inster_new_json(global_data_dict, "interface.data.contentKey", contentKey_aes) global_data_json = dict_to_json(global_data_dict) return global_data_json
def get_header(testdata): if testdata.get("case_data").get("header"): header = testdata.get("case_data").get("header") else: header = testdata.get("api_config").get("header") header = json_to_dict(header) return header
def save_dependent(api_all, response): file_name = api_all.get("case_id") + ".json" file_path = os.path.join(dependent_dir, file_name) res_jiemi_dict = response_jiemi_dict(response) request_dict = json_to_dict(api_all.get("data")) request_data_dict = { "SBLX": jiexi_json(request_dict, "REQUEST_COMMON_FPKJ.SBLX"), "KPZDDM": jiexi_json(request_dict, "REQUEST_COMMON_FPKJ.KPZDDM"), "FPLXDM": jiexi_json(request_dict, "REQUEST_COMMON_FPKJ.FPLXDM"), "KPLX": jiexi_json(request_dict, "REQUEST_COMMON_FPKJ.KPLX"), "ZSFS": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.ZSFS"), "NSRSBH": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.NSRSBH"), "XSF_NSRSBH": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.XSF_NSRSBH"), "XSF_MC": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.XSF_MC"), "XSF_DZDH": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.XSF_DZDH"), "XSF_YHZH": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.XSF_YHZH"), "GMF_NSRSBH": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.GMF_NSRSBH"), "GMF_MC": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.GMF_MC"), "GMF_DZDH": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.GMF_DZDH"), "GMF_SJH": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.GMF_SJH"), "GMF_DZYX": jiexi_json(res_jiemi_dict, "REQUEST_COMMON_FPKJ.GMF_DZYX"), } response_data_dict = { "FPQQLSH": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.FPQQLSH"), "FPLXDM": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.FPLXDM"), "FP_DM": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.FP_DM"), "FP_HM": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.FP_HM"), "KPRQ": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.KPRQ"), "JYM": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.JYM"), "PDF_URL": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.PDF_URL"), "OFD_URL": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.OFD_URL"), "SP_URL": jiexi_json(res_jiemi_dict, "interface.data.content.DATA.SP_URL") } save_data_dict = {} save_data_dict.update(request_data_dict) save_data_dict.update(response_data_dict) dict_to_json_write_file(file_path, save_data_dict)
def get_output_list(case_data, response_text): output_list = [] gc_path = case_data.get("testdatafile") relative_path = case_data.get("gc_globle_data").get("save_path").get( "output") filename = case_data.get("output") filename_path = os.path.join(gc_path, relative_path, filename) with open(filename_path, "r") as f: output_str = f.read().replace(" ", "").replace("\n", "") output_filte_list = output_str.split(";") for i in range(len(output_filte_list)): de_data_dict = {} filte_list = output_filte_list[i].split(">") if filte_list[0] == "response": de_data_dict = json_to_dict(response_text) if filte_list[0] == "bodydata": de_data_dict = json_to_dict(case_data.get("bodydata")) if filte_list[0] == "urldata": de_data_dict = json_to_dict(case_data.get("urldata")) filte_value = jiexi_json(de_data_dict, filte_list[1]) filte_value_dict = {} filte_value_dict[filte_list[1].split(".")[-1]] = filte_value output_list.append(filte_value_dict) return output_list
def get_req_data(api_all): """ 根据接口请求方式、公共请求数据、业务请求数据,进行处理、加密、组装等操作成为最终的请求数据,并返回 :param api_all: 测试所有数据 :return: 请求数据 """ global_data = api_all.get("globaldata").replace("\n", "").replace("\t", "") interfaceCode = api_all.get("api_config").get("interfaceCode") dataExchangeId = "DZFPQZ" + interfaceCode + get_time(time_type="%Y%m%d") + get_random_num(9) req_data = api_all.get("bodydata") appid = api_all.get("gc_globle_data").get("other_data").get("appid") aeskey = api_all.get("gc_globle_data").get("other_data").get("aeskey") content = encode_base64(req_data).replace("\n", "").replace("\t", "") contentKey_sha256hex = sha256hex(content) contentKey_aes = Aes_ECB(aeskey).AES_encrypt(contentKey_sha256hex) global_data_dict = json_to_dict(global_data) global_data_dict = inster_new_json(global_data_dict, "interface.globalInfo.appId", appid) global_data_dict = inster_new_json(global_data_dict, "interface.globalInfo.interfaceCode", interfaceCode) global_data_dict = inster_new_json(global_data_dict, "interface.globalInfo.dataExchangeId", dataExchangeId) global_data_dict = inster_new_json(global_data_dict, "interface.data.content", content) global_data_dict = inster_new_json(global_data_dict, "interface.data.contentKey", contentKey_aes) global_data_json = dict_to_json(global_data_dict) return global_data_json