1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python+request+Excel做接口自动化测试

python+request+Excel做接口自动化测试

时间:2022-03-05 09:02:43

相关推荐

python+request+Excel做接口自动化测试

request是python的一个http客户端库,与urllib、urllib2类似。但是使用比urllib2简单。

安装request : pip install requests

1、POST方法

#封装http POST 函数,返回请求response

def httpPost(self,keyword,url):

data=json.dumps(keyword)

headers={"Content-Type":"application/json"}

res=requests.post(url,data=data,headers=headers)

responseJson=res.json()

return responseJson

2、GET方法

#封装http Get函数,返回response

def httpGet(self,keyword,url,data):

headers={"Content-Type":"application/json"}

res=requests.get(url,data=data,headers=headers)

responseJson=res.json()

return responseJson

3、封装request请求函数

#封装请求函数

def httpGetOrPost(self,method,url,data):

# global mres

headers = {"Content-Type": "application/json"}

if method in "get":

mres=requests.get(url,data=data,headers=headers)

elif method == "post":

#postdata = json.dumps(data)

mres=requests.post(url,data=data,headers=headers)

elif method in"put":

mres=requests.put(url,data=data,headers=headers)

elif method in "delete":

mres=requests.delete(url,data=data,headers=headers)

else:

mres = requests.post(url, data=data, headers=headers)

print("错误")

# responseJson=mres.json()

return mres.json()

进行测试:

def test0001(self):

self.url="/api/apps/BUDDY_API_TEST/accounts/login"

self.method="post"

self.data={"password":"e10adc3949ba59abbe56e057f20f883e","clientSecret":"a123af4e331cf61c0324cd43cbc2135d","accountId":"13590404631"}

res=self.httpGetOrPost(self.method,self.url,self.data)

print res

5、使用excel

由于我的系统为win10,excel后缀为xlsx,故需要使用openpyxl 模块

大概使用方法如下:

def readSheet(self):

wb = load_workbook(r'd:\apitestcase.xlsx')

# 获得所有sheet的名称

print(" 获得所有sheet的名称")

print(wb.get_sheet_names())

# 根据sheet名字获得sheet

a_sheet = wb.get_sheet_by_name('apitestcase')

# 获得sheet名

print(a_sheet.title)

# 获得当前正在显示的sheet, 也可以用wb.get_active_sheet()

sheet = wb.active

# 获取某个单元格的值,观察excel发现也是先字母再数字的顺序,即先列再行

b4 = sheet['B1']

print(b4.value)

# 除了用下标的方式获得,还可以用cell函数, 换成数字,这个表示B4

b4_too = sheet.cell(row=4, column=2)

print(b4_too.value)

6、封装excel函数

def readSheetdata(self,cell):

wb=load_workbook(r'd:\apitestcase.xlsx')

sheet=wb.active

value=sheet[cell]

print(value.value)

return value.value

7、测试读取excel中的值,之后做请求

excel表格内容大概如下:

这里是第一个测试

def test00001(self):

self.url=self.readSheetdata('C2')

self.data=self.readSheetdata('D2')

self.method=self.readSheetdata('E2')

res=self.httpGetOrPost(self.method,self.url,self.data)

测试结果:

注:

导入excel,这里使用openpyxl ,xlxs后缀的一般使用openpyxl

from openpyxl import load_workbook

载入utf8编码

import sys

reload(sys)

sys.setdefaultencoding('utf8')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。