Commit e519fe91 by zhangchunyao

Delete interfacetest.py

parent b1915e4a
#coding:utf-8
import requests
import xlrd
import json
import xlwt
from urllib.parse import urlencode
import textwrap
# 打开文件
def xlsx_open(filepath):
book = xlrd.open_workbook(filepath)
return book
# 2019/6/18 update by datu
def xlsx_getRow(sheet,row):
object = {}
object["method"] = sheet.cell_value(row, 2)
object["host"] = sheet.cell_value(row, 3)
object["path"] = sheet.cell_value(row, 4)
object["url"] = object["host"] + object["path"]
object["params"] = sheet.cell_value(row, 5)
object["headers"] = sheet.cell_value(row, 6)
object["cookies"] = sheet.cell_value(row,7)
object["code"] = sheet.cell_value(row, 8)
object["expected_code"] = sheet.cell_value(row, 9)
#print(object["cookies"])
return object
# def xlsx_request(object):
# if object["method"] == "post":
# response = requests.post(object["url"], data=json.loads(object["params"]))
# result = response.json()
# elif object["method"] =="get" and object["header"]=="":
# dic=json.loads(object["params"])
# params1=urlencode(dic)
# response = requests.get(object["url"], params1)
# result = response.json()
# elif object["header"]!="":
# head=object["header"]
# header=json.loads(head)
# print("这行是有headers的")
# dic = json.loads(object["params"])
# params1 = urlencode(dic)
# response = requests.get(object["url"], params1,headers=header)
# result = response.json()
# #此处是空行的处理
# else:
# return 0
# return result
# 2019/6/21 update by datu
def xlsx_request(object):
if object["method"] == "post":
#print(object["params"])
dic = json.loads(object["params"])
params1 = dic
# params1 = urlencode(dic)
if object["headers"]=="" and object["cookies"]=="":
response = requests.post(object["url"], params1)
result = response.json()
elif object["headers"]=="" and object["cookies"]!="":
print("this line have cookie")
cookie=object["cookies"]
cookies = {i.split("=")[0]:i.split("=")[1] for i in cookie.split(";")}
response = requests.post(object["url"], params1,cookies=cookies)
result = response.json()
elif object["headers"]!="" and object["cookies"]=="":
if'application/json' in object["hearders"]:
params1 = json.dumps(dic)
print("this line have headers")
head=object["headers"]
header=json.loads(head)
response = requests.post(object["url"], params1,headers=header)
result = response.json()
elif object["headers"]!="" and object["cookies"] !="":
if 'application/json' in object["headers"]:
params1 = json.dumps(dic)
print("this line have headers and cookie")
cookie=object["cookies"]
cookies = {i.split("=")[0]:i.split("=")[1] for i in cookie.split(";")}
head=object["headers"]
header=json.loads(head)
response = requests.post(object["url"], params1,headers=header,cookies=cookies)
result = response.json()
elif object["method"] == "get":
#print(object["params"])
dic = json.loads(object["params"])
params1 = urlencode(dic)
if object["headers"]=="" and object["cookies"]=="":
response = requests.get(object["url"], params1)
result = response.json()
elif object["headers"]=="" and object["cookies"]!="":
print("this line have cookie")
cookie=object["cookies"]
cookies = {i.split("=")[0]:i.split("=")[1] for i in cookie.split(";")}
response = requests.get(object["url"], params1,cookies=cookies)
result = response.json()
elif object["headers"]!="" and object["cookies"]=="":
if 'application/json' in object["headers"]:
params1 = json.dumps(dic)
print("this line have headers")
head=object["headers"]
header=json.loads(head)
response = requests.get(object["url"], params1,headers=header)
result = response.json()
elif object["headers"]!="" and object["cookies"] !="":
if 'application/json' in object["headers"]:
params1 = json.dumps(dic)
print("this line have headers and cookie")
cookie=object["cookies"]
cookies = {i.split("=")[0]:i.split("=")[1] for i in cookie.split(";")}
head=object["headers"]
header=json.loads(head)
response = requests.get(object["url"], params1,headers=header,cookies=cookies)
result = response.json()
else :
return 0
return result
def xlsx_set(sheet, row, col, value, red=False):
style = "font:colour_index red;"
if red == False:
sheet.write(row, col, value)
else:
sheet.write(row, col, value, xlwt.easyxf(style))
def xlsx_save(book,filepath):
book.save(filepath)
# 2019/6/22 update by datu
def writeResultDate(bwt_sheet,inrow,incol,result):
#incol=11
#len(textwrap.wrap(text='abcdefghi', width=1))
if len(json.dumps(result))>32766 :
for var in textwrap.wrap(text=json.dumps(result,ensure_ascii=False), width=30000):
xlsx_set(bwt_sheet, inrow, incol,var, False)
incol=incol+1
else :
xlsx_set(bwt_sheet,inrow,incol,json.dumps(result,ensure_ascii=False),False)
def dosheet(brd,bwt,sheetIndex):
brd_sheet = brd.sheets()[sheetIndex]
bwt_sheet = bwt.get_sheet(sheetIndex)
count = brd_sheet.nrows
for i in range(1, count):
print(i)
object = xlsx_getRow(brd_sheet,i)
result = xlsx_request(object)
if result==0:
print("This line is an interface description, skip")
elif type(object["expected_code"])==type(1.0):
if result.get(object["code"]) == object["expected_code"]:
xlsx_set(bwt_sheet, i, 10, "pass", False)
#xlsx_set(bwt_sheet, i, 11, json.dumps(result,ensure_ascii=False), False)
inRow=i
inCol=11
writeResultDate(bwt_sheet,inRow,inCol,result)
else:
xlsx_set(bwt_sheet, i, 10, "fail", True)
#xlsx_set(bwt_sheet, i, 11, json.dumps(result,ensure_ascii=False), False)
inRow=i
inCol=11
writeResultDate(bwt_sheet,inRow,inCol,result)
else:
if str(result.get(object["code"]))== object["expected_code"]:
xlsx_set(bwt_sheet, i, 10, "pass", False)
#xlsx_set(bwt_sheet, i, 11, json.dumps(result,ensure_ascii=False), False)
inRow=i
inCol=11
writeResultDate(bwt_sheet,inRow,inCol,result)
else:
xlsx_set(bwt_sheet, i, 10, "fail", True)
#xlsx_set(bwt_sheet, i, 11, json.dumps(result,ensure_ascii=False), False)
inRow=i
inCol=11
writeResultDate(bwt_sheet,inRow,inCol,result)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment