コード例 #1
0
ファイル: jiemi_response.py プロジェクト: zhYp369/apiAutoTest
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
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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)
コード例 #5
0
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
コード例 #6
0
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