python 接口测试requests_使用python request编写简单的接口测试

论坛 期权论坛 脚本     
已经匿名di用户   2022-4-13 16:43   2197   0

使用requests请求获取返回数据

封装成函数

封装成类

一、使用requests请求post返回的数据

import requests

import json

# data={

# 'username':'sun',

# 'password':'123',

# 'data':'test'

# }

# res=requests.post(url='http://127.0.0.1:8000/login/',data=data)

# print(res.text)

# print(type(res.json()))

二、封装成函数

#封装成函数

url='http://127.0.0.1:8000/login/'

data={

'username':'sun',

'password':'123',

'data':'test'

}

def send_post(url,data):

#post->get就是get接口的,但是上面的测试数据的是post请求,get没有测试

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

#格式化json数据,indent=2是空格,sort是排序

return json.dumps(res,indent=2,sort_keys=True)

def send_get(url,data):

#post->get就是get接口的

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

#格式化json数据,indent=2是空格,sort是排序

return json.dumps(res,indent=2,sort_keys=True)

def run_main(data,url,method):

res=None

if method=='GET':

res=send_get(url,data)

else:

res=send_post(url,data)

return res

def run_main01(url,method,data=None):#默认参数放在最后面的位置

res = None

if method == 'GET':

res = send_get(url, data)

else:

res = send_post(url, data)

return res

# print(send_post(url,data))

# print(run_main(data,url,'POST'))

三、封装成类:

#进一步,封装成类

class RunMain:

#构造函数

# def __init__(self,url,method,data=None):

# self.res=self.run_main(url,method,data)

def send_post(self,url, data):

# post->get就是get接口的,但是上面的测试数据的是post请求,get没有测试

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

# 格式化json数据,indent=2是空格,sort是排序

# return json.dumps(res, indent=2, sort_keys=True)

return res

def send_get(self,url, data):

# post->get就是get接口的

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

# 格式化json数据,indent=2是空格,sort是排序

# return json.dumps(res, indent=2, sort_keys=True)

return res

def run_main(self,url, method, data=None):

res = None

if method == 'GET':

res = self.send_get(url, data)

else:

res = self.send_post(url, data)

return res

#这种写法就是每次都要先实例化,然后再去调用run_main

if __name__=="__main__":

run=RunMain()

url = 'http://127.0.0.1:8000/login/'

data = {

'username': 'sun',

'password': '123',

'data': 'test'

}

print( run.run_main(url,'POST',data))

#可以直接写一个构造函数,当实例化的时候就自动执行run_main这个方法

#添加一个构造方法

# if __name__=="__main__":

# url = 'http://127.0.0.1:8000/login/'

# data = {

# 'username': 'sun',

# 'password': '123',

# 'data': 'test'

# }

# run=RunMain(url,'POST',data)#实例化的同时执行构造函数

# print(run.res)

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP