1. 程式人生 > >使用python request編寫簡單的接口測試

使用python request編寫簡單的接口測試

實例化 接口 tex .post lse arp quest ini user

  • 使用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)

  

使用python request編寫簡單的接口測試