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


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

      

  • 相关阅读:
    Centos安装Kafka
    centos 上如何安装python3
    python+Django CRM客户关系管理系统开发(十四)--报名流程开发
    python+Django CRM客户关系管理系统开发(十三)--面包屑导航-bootstrap路径导航
    python+Django CRM客户关系管理系统开发(十二)--action功能开发
    python Django框架下,不同路径下,html页面引入静态static文件的方法
    python+Django CRM客户关系管理系统开发(十一)--删除功能开发
    多线程之 八锁。
    浅谈多线程下if和while循环不同的原因
    浅析JVM模型以及java代码运行流程
  • 原文地址:https://www.cnblogs.com/mesunyueru/p/9164306.html
Copyright © 2020-2023  润新知