Commit f425796d0d6fd567e179dd4ec4494678b36f9d4d

Authored by 175930106
Committed by liujiqiang
1 parent 8c43a9dc

删除公共类的 jsonclass和数据驱动的myrequest

src/commons/JsonClass.py deleted 100644 → 0
1 -#!/usr/bin/python  
2 -# -*- coding: UTF-8 -*-  
3 -import json  
4 -import operator  
5 -  
6 -  
7 -def dict_diff(a1,b1):  
8 - #提取出dict与str或list的异常对比场景  
9 - if type(a1)!= type(b1):  
10 - print("实际响应json的元素{}的类型{}和期望响应json元素{}的类型{}不一致".format(a1,type(a1),b1,type(b1)))  
11 - return False  
12 - d1=list(set(a1.keys()).difference(set(b1.keys())))  
13 - d2=list(set(b1.keys()).difference(set(a1.keys())))  
14 - if len(d1)==0 and len(d2)==0:  
15 - return True  
16 - else:  
17 - print("实际json比期望json多了键值",d1)  
18 - print("实际json比期望json少了键值",d2)  
19 - return False  
20 -  
21 -def list_diff(a1,b1):  
22 - #提取出list与str或dict的异常对比场景  
23 - if type(a1)!= type(b1):  
24 - print("实际响应json的元素{}的类型{}和期望响应json元素{}的类型{}不一致".format(a1,type(a1),b1,type(b1)))  
25 - return False  
26 - elif len(a1)!=len(b1):  
27 - print("实际响应json列表长度{}和期望响应json列表长度{}不一致".format(a1,b1))  
28 - return False  
29 - else:  
30 - return True  
31 -  
32 -#无法判断[[1],[2]]和[[1],[1]]的区别,只能判断列表长度和字典键值是否一致  
33 -#a为实际对比的json数据,b为期望的json数据  
34 -def compare_json(a,b):  
35 - #判断检查数据是否为列表格式的数据  
36 - if isinstance(a,list):  
37 - if list_diff(a,b)==True:  
38 - #为列表时必须进行排序,否则可能出现列表对比的位置不一致  
39 - a.sort()  
40 - b.sort()  
41 - for i in range(len(a)):  
42 - #判断列表中的指定的元素是否为字典格式  
43 - if compare_json(a[i],b[i]) == False:  
44 - return False  
45 - else:  
46 - return False  
47 - #判断检查数据是否为字典格式的数据  
48 - elif isinstance(a,dict):  
49 - if dict_diff(a,b)==True:  
50 - #如果第一层键值相同时,遍历检查内层所有键值  
51 - for key in a.keys():  
52 - #内层键值为列表数据类型时  
53 - if compare_json(a[key],b[key]) == False:  
54 - return False  
55 - else:  
56 - return False  
57 - #期望数据非dict和list类型时,直接进行对比  
58 - elif operator.eq(a, b)==False:  
59 - print("实际数据的{}和期望数据的{}不一致".format(a,b))  
60 - return False  
61 -  
62 -#字典嵌套字典,完全相同  
63 -a1={"key1": 0,"key2": {"key11": 0,"key22": {"key111": 0,"key222": 0,"key333":0}}}  
64 -b1={"key1": 0,"key2": {"key11": 0,"key22": {"key111": 0,"key222": 0,"key333":0}}}  
65 -#字典嵌套字典,实际数据多了键值key33,实际少了键值key333  
66 -a2={"key1": 0,"key2": {"key11": 0,"key22": {"key111": 0,"key222": 0,"key33":0}}}  
67 -b2={"key1": 0,"key2": {"key11": 0,"key22": {"key111": 0,"key222": 0,"key333":0}}}  
68 -#列表嵌套列,完全相同但顺序不一致  
69 -a3=["key11","key22",["key11","key22",["key111",{"key1111":1}]]]  
70 -b3=[["key11","key22",["key111",{"key1111":1}]],"key11","key22"]  
71 -#列表嵌套列,顺序不一致,实际数据多了键值key111,实际少了键值key1111  
72 -a4=["key11","key22",["key11","key22",["key111",{"key111":1}]]]  
73 -b4=[["key11","key22",["key111",{"key1111":1}]],"key11","key22"]  
74 -#列表嵌套列表,顺序不一致,列表值不一致  
75 -a5=["key","key22",["key11","key22",["key111"]]]  
76 -b5=["key11","key22",["key11","key22",["key111"]]]  
77 -#列表嵌套列表,顺序一致,但是列表长度不一致  
78 -a6=["key","key22",["key11","key22",["key111"]]]  
79 -b6=["key11","key22",["key11","key22",["key111",{"key1111":1}]]]  
80 -#字典和列表相互嵌套,实际数据多了键值key2,实际少了键值key22  
81 -a7={"key1":0,"key2": ["key11",{"key2": {"key111":0,"key222": ["key111","key222"]}}]}  
82 -b7={"key1":0,"key2": ["key11",{"key22": {"key111":0,"key222": ["key111","key222"]}}]}  
83 -#字典和列表相互嵌套,实际数据某一个列表长度大于期望数据  
84 -a8={"key1":0,"key2": ["key11",{"key22": {"key111":0,"key222": ["key111"]}}]}  
85 -b8={"key1":0,"key2": ["key11",{"key22": {"key111":0,"key222": ["key111","key222"]}}]}  
86 -#字典和列表相互嵌套,实际数据某一个列表的值和期望数据的值不一致  
87 -a9={"key1":0,"key2": ["key11",{"key22": {"key111":0,"key222": ["key111","key22211"]}}]}  
88 -b9={"key1":0,"key2": ["key11",{"key22": {"key111":0,"key222": ["key111","key222"]}}]}  
89 -"""exception"""  
90 -#字典和字符串对比  
91 -a10=[{"key11": 0},{"key11": 0}]  
92 -b10=["key11","key33"]  
93 -#字典和list对比  
94 -a11=[{"key11": 0},{"key11": 0}]  
95 -b11=[["key11"],["key33"]]  
96 -#列表与字典对比  
97 -a12=[["key11"],["key33"]]  
98 -b12=[{"key11": 0},{"key11": 0}]  
99 -#列表与字符串对比  
100 -a13=[["key11"],["key33"]]  
101 -b13=["key11","key11"]  
102 -#字符串与列表对比  
103 -a14=["key11","key11"]  
104 -b14=[["key11"],["key33"]]  
105 -#字符串与字典对比  
106 -a15=["key11","key33"]  
107 -b15=[{"key11": 0},{"key11": 0}]  
108 -  
109 -print(compare_json(a9,b9))  
110 \ No newline at end of file 0 \ No newline at end of file
src/commons/MyRequest.py deleted 100644 → 0
1 -#!/usr/bin/python  
2 -# -*- coding: UTF-8 -*-  
3 -import requests  
4 -import json  
5 -from commons import common as com  
6 -from commons.Logging import Logger  
7 -# from requests.adapters import HTTPAdapter HTTPAdapter(max_retries=3)  
8 -import urllib3  
9 -urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)  
10 -log=Logger()  
11 -  
12 -class myrequest(object):  
13 -  
14 - def __init__(self):  
15 - self.timeout = 60  
16 - self.max_retries = 3  
17 - self.keep_alive = False  
18 - self.ssl_verify=False  
19 - self.proxies=None  
20 - self.allow_redirects=False  
21 -  
22 - def get(self,url,**kwargs):  
23 - log.info('{0:=^80}'.format('进行GET请求'))  
24 - log.info('请求地址为{};\n'.format(url))  
25 - res = self.se.get(url, proxies=self.proxies,**kwargs)  
26 - log.info('响应body为{};'.format(res.json()))  
27 - return res  
28 -  
29 - def post(self,url, data=None, json=None, **kwargs):  
30 - '''处理动态数据的方法'''  
31 - log.info('{0:=^80}'.format('进行POST请求'))  
32 - log.info('请求地址为{};\n 请求body为{};\n'.format(url,data))  
33 - res = self.se.post(url, data=data, json=json,**kwargs)  
34 - log.info('响应body为{};'.format(res.json()))  
35 - return res  
36 -  
37 - def post2(self,session,api,**kwargs):  
38 - '''处理静态数据的方法'''  
39 - self.se=session  
40 - self.api=api.split("_")[2]  
41 - self.api_num=(api.split("_")[2]+api.split("_")[1])  
42 - #获取接口的请求方法,url,header,body_format,body等数据  
43 - self.method=com.get_api_config(self.api,self.api,'method')  
44 - self.body_format=com.get_api_config(self.api,self.api,'body_format')  
45 - self.url=com.get_api_config(self.api,self.api, 'url')  
46 - self.headers=json.loads(com.get_api_config(self.api,self.api,'header'))  
47 - #判断请求数据类型  
48 - self.data=None if self.body_format=="JSON" else com.get_api_config(self.api,self.api_num,'body')  
49 - self.json=None if self.body_format=="FORM" else json.loads(com.get_api_config(self.api,self.api_num,'body'))  
50 - log.info('{0:=^80}'.format('请求接口为{}'.format(api)))  
51 - log.info('请求地址为{}; 请求方式为{}; 请求body格式为{};\n 请求body为{}{};'.format(  
52 - self.url,  
53 - self.method,  
54 - self.body_format,  
55 - self.data,  
56 - self.json))  
57 -  
58 - if self.method.upper()=="POST":  
59 - res = self.se.post(self.url, data=self.data, json=self.json,headers=self.headers,**kwargs)  
60 - log.info('响应body为{};'.format(res.json()))  
61 - return res  
62 - elif self.method.upper()=="GET":  
63 - res = self.se.GET(self.url,proxies=self.proxies,**kwargs)  
64 - log.info('响应body为{};'.format(res.json()))  
65 - return res  
66 - elif self.method.upper()=="PUT":  
67 - res = self.se.put(self.self.url, data=self.data, json=self.json,proxies=self.proxies,**kwargs)  
68 - log.info('响应body为{};'.format(res.json()))  
69 - return res  
70 - elif self.method.upper()=="DELETE":  
71 - res = self.se.delete(self.self.url,proxies=self.proxies,**kwargs)  
72 - log.info('响应body为{};'.format(res.json()))  
73 - return res  
74 - elif self.method.upper()=="HEAD":  
75 - res = self.se.head(self.url,proxies=self.proxies,**kwargs)  
76 - log.info('响应body为{};'.format(res.json()))  
77 - return res  
78 - else :  
79 - raise Exception("Request method error")  
80 -  
81 - def close_session(self):  
82 - self.se.close()  
83 -  
84 -#  
85 -# test=myrequest()  
86 -# # 获取session  
87 -# re=test.getSession(True)  
88 -# print(re.headers)  
89 -# # 请求  
90 -# # re2=test.post(com.get_api_config('upStream', 'upStream01', 'url'),  
91 -# # json=json.loads(d),  
92 -# # headers=json.loads(com.get_api_config('upStream', 'upStream01', 'header')))  
93 -# # print(re2.json())  
94 -#  
95 -# d=com.get_api_config('upStream', 'upStream01', 'body')  
96 -# print(type(json.loads(d)))  
97 -# print(d)  
98 -# print(d.encode().decode('unicode-escape'))  
99 -#  
100 -# re3=test.post2("test_01_upStream",body="json")  
101 -# print(re3.json())  
102 -# a="test_04_upStream"  
103 -# print(a.split("_")[2])  
104 -# print(a.split("_")[2]+a.split("_")[1])  
105 \ No newline at end of file 0 \ No newline at end of file