def interface_excel_go(self, open_excel_file_address, input_excel_name, input_excel_address): i = Interface_go() goi = excel.OpenExcel() # t=go.open_excel('D:\linshi\涉及鲜橙收入和金额收入接口.xlsx') # t=go.open_excel('D:\linshi\工作簿1.xlsx') try: t = goi.open_excel(open_excel_file_address) except: print("文件地址必须是单引号") # print(t) for x in t: # print(x) name = x[0] if "http://" not in x[1] or 'http://' not in x[1]: address = "http://" + x[1] + x[2] else: address = "http://" + x[1] + x[2] # print(x[3]) try: data = ast.literal_eval(x[3]) except: print("表格中的参数,必须加上双引号") # print(name+"\n"+address) # print(data) healer = {} if x[5] == "post": i.post(address, data, healer, name) if x[5] == "get": i.get(address, data, healer, name) # excel.InputExcel().end("D:\\linshi\\","特殊") excel.InputExcel().end(input_excel_address, input_excel_name)
import time import threading from baibaoxiang import baibaoxiangInterface, excel, sys_powel ex = excel.InputExcel() go = baibaoxiangInterface.go() all_jieguo = [] class a(threading.Thread): def __init__(self, url, data, header, name, user_sum): threading.Thread.__init__(self) self.url = url self.data = data self.header = header self.name = name self.user_sum = int(user_sum) def run(self): for i in range(self.user_sum): # iss=[] # run_time=time.time() name = str(self.name) + "-" + str(i) # print(self.name,"-",i,"本次执行时间是:",run_time) f = go.post(self.url, self.data, self.header, name) on_to_over_time = f.elapsed.total_seconds() print(name, "发送请求到接收完数据的时间(总时长)", on_to_over_time, "秒,相当于", on_to_over_time * 1000, "毫秒") all_jieguo.append([ name, self.url, str(self.data), f.status_code,
class Interface_go: hang = 0 lie = 0 excel_input = excel.InputExcel() def leiji(self): # print(go.k, ",", go.l) Interface_go.lie += 1 if Interface_go.lie >= 3: Interface_go.hang += 1 Interface_go.lie = 0 def __init__(self): print("开始接口连接过程。。。") def post(self, url, data="", header="", name=""): r = requests.post(url, data=data, headers=header) if "\"msg\":\"ok\"" in r.text and r.status_code == 200: print(name, "成功") try: print(r.json()) except: print("无法输出json,转换成输出text") print(r.text) else: print( name, "未成功*****************************************************************************" ) try: print(r.json()) except: try: print(r.text) except: print("无法输出访问结果") try: on_to_over_time = r.elapsed.total_seconds() fanhui = re.findall("\{\"code\":.*?.*", str(r.json())) # print("这里是数组*************************",fanhui) if len(fanhui) == 0: fanhui = re.findall("\{\'code\':.*?.*", str(r.json())) if len(fanhui) == 0: fanhui = str(r.json()) jieguo = [ name, url, str(data), r.status_code, fanhui, on_to_over_time ] Interface_go.excel_input.input_excel(jieguo) except: print("无法输出json,转换成输出text") print(r.text) fanhui = re.findall("\{\"code\":.*?.*", r.text) # print("这里是数组*************************", fanhui) if len(fanhui) == 0: fanhui = re.findall("\{\'code\':.*?.*", r.text) if len(fanhui) == 0: fanhui = r.text jieguo = [name, url, str(data), r.status_code, fanhui] Interface_go.excel_input.input_excel(jieguo) return r def get(self, url, data="", header="", name=""): r = requests.get(url, data=data, headers=header) if "\"msg\":\"ok\"" in r.text and r.status_code == 200: print(name, "成功") try: print(r.json()) except: print("无法输出json,转换成输出text") print(r.text) else: print( name, "未成功*****************************************************************************" ) try: print(r.json()) except: try: print(r.text) except: print("无法输出访问结果") try: on_to_over_time = r.elapsed.total_seconds() fanhui = re.findall("\{\"code\":.*?.*", str(r.json())) # print("这里是数组*************************",fanhui) if len(fanhui) == 0: fanhui = re.findall("\{\'code\':.*?.*", str(r.json())) if len(fanhui) == 0: fanhui = str(r.json()) jieguo = [name, url, str(data), r.status_code, fanhui] Interface_go.excel_input.input_excel(jieguo) except: print("无法输出json,转换成输出text") print(r.text) fanhui = re.findall("\{\"code\":.*?.*", r.text) # print("这里是数组*************************", fanhui) if len(fanhui) == 0: fanhui = re.findall("\{\'code\':.*?.*", r.text) if len(fanhui) == 0: fanhui = r.text jieguo = [ name, url, str(data), r.status_code, fanhui, on_to_over_time ] Interface_go.excel_input.input_excel(jieguo) return r
for x in t: # print(x) name = x[0] if "http://" not in x[1] or 'http://' not in x[1]: address = "http://" + x[1] + x[2] else: address = "http://" + x[1] + x[2] # print(x[3]) try: data = ast.literal_eval(x[3]) except: print("表格中的参数,必须加上双引号") # print(name+"\n"+address) # print(data) healer = {} if x[5] == "post": i.post(address, data, healer, name) if x[5] == "get": i.get(address, data, healer, name) # excel.InputExcel().end("D:\\linshi\\","特殊") excel.InputExcel().end(input_excel_address, input_excel_name) if __name__ == "__main__": go = Interface_go() go.post("url", "data", "header", "name") excel.InputExcel().end("", "") go2 = Interface_Excel_go() go2.interface_excel_go("D:\linshi\涉及鲜橙收入和金额收入接口.xlsx", "特殊", "D:\\linshi\\")
import time import threading from baibaoxiang import baibaoxiangInterface,excel,sys_powel,xingneng data={ "account":"18871551774", "password":"******" } url="http://test-plus.moliyan.com.cn/api/index/login" xingneng.Bingfa_test().bingfa_test_go(url,data,"某个登录接口",2) # xx=baibaoxiangInterface.go() # xx.post(url,data,"","xxx") print(111111111) excel.InputExcel().end("D:\\linshi\\","并发结果11")