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="http://apptest.buddyniu.com/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')
Python接口自动化测试零基础入门到精通(2023最新版)