zoukankan      html  css  js  c++  java
  • Python接口测试之封装requests

    首先安装requests库:

    pip install requests
    

    test_requests.py 首先在TestRequest类中封装get与post方法,

    import requests
    import json
    
    class TestRequest():
    
        def __init__(self):
    
            self.headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"}
    
        def get(self, url, params):
    
            try:
                r = requests.get(url=url, params=params, headers=self.headers)
                response = json.loads(r.text)
                print("get请求结果为:%s"%response)
    
            except BaseException as e:
                print("get请求错误,错误原因:%s"%e)
    
        def post(self, url, params):
    
            data = json.dumps(params)
            try:
                r = requests.post(url=url, json=data, headers=self.headers)
                response = json.loads(r.text)
                print("post请求结果为:%s" %response)
    
            except BaseException as e:
                print("post请求错误,错误原因:%s" % e)
    
    if __name__ == '__main__':
        a = TestRequest()
    

    test_api.py 此文件用于调用前边封装的test_requests.py文件,判断是get还是post方法,然后这个方法在调用类的时候执行init方法,url是要请求的网址,prove是凭证比如session,cookie,token之类的,parameter是要发送的参数,methods是请求的方法,post或者get

    from api.test_request import TestRequest
    
    req = TestRequest()
    class TestApi():
    
        def __init__(self, url, prove, parameter, methods):
    
            self.url = url
            self.prove = prove
            self.parameter = parameter
            self.methods = methods
    
        def test_api(self):
            """
            判断请求是GET还是POST
            :return: url请求结果
            """
            if self.methods == "GET":
                self.params = {"prove": self.prove, "parameter": self.parameter}
                response= req.get(self.url, self.params)
    
            elif self.methods == "POST":
                self.params = {"prove": self.prove, "parameter": self.parameter}
                response = req.post(self.url, self.params["parameter"])
            return response
    
        def get_json(self):
    
            json_data= self.test_api()
            return json_data
    if __name__ == '__main__':
        a = TestApi("http://10.141.121.29:8083/login","",{"workAccount":"xinjian","password":"8153cb3aa56ee4196091913849f14136"},"POST")
        a.get_json()
    

      

  • 相关阅读:
    谢谢博客-园,让我不再有开源AYUI的想法
    [ay原创作品]用wpf写了个模仿36Kr网站登录背景的效果
    [AY技术分享]WPF AYUI的高大上日历代码
    [C#] AY.WPF-图形编程-高中生为起点-研究报告1
    [Aaronyang]谈谈2015年AY对WPF全面技术总结40多篇WPF,炫到没朋友的AYUI来了
    C#人爱学不学9[C#5.0异步实例+WPF自己的MVVM Async应用 1/12]
    Ay.Framework.WPF 2.0建立项目到底有多快
    [aaronyang]WPF4.5
    Hystrix是什么
    通俗理解ZooKeeper是如何保证数据一致性的
  • 原文地址:https://www.cnblogs.com/Crazy-lyl/p/9038757.html
Copyright © 2011-2022 走看看