• swagger 接口测试,用 python 写自动化时该如何处理?


    在使用Python进行Swagger接口测试时,可以使用requests库来发送HTTP请求,并使用json库和yaml库来处理响应数据。以下是一个简单的示例代码:

    1. import requests
    2. import json
    3. import yaml
    4. # Swagger API文档地址和需要测试的接口路径
    5. swagger_url = 'http://example.com/swagger.json'
    6. api_path = '/api/users'
    7. # 获取Swagger API文档并解析
    8. response = requests.get(swagger_url)
    9. swagger_data = response.json()
    10. # 根据接口路径获取接口信息
    11. path_info = swagger_data['paths'][api_path]
    12. # 获取需要用到的请求方法、请求参数、请求头等信息
    13. method = path_info['get']['operationId']
    14. parameters = path_info['get']['parameters']
    15. headers = {'Content-Type': 'application/json'}
    16. # 构造请求URL和请求参数
    17. url = 'http://example.com' + api_path
    18. params = {}
    19. for param in parameters:
    20. params[param['name']] = param['value']
    21. # 发送GET请求
    22. response = requests.get(url, headers=headers, params=params)
    23. # 解析响应数据
    24. if response.status_code == 200:
    25. # 如果响应数据为JSON格式,则使用json.loads()方法解析
    26. if 'application/json' in response.headers['Content-Type']:
    27. data = json.loads(response.text)
    28. # 如果响应数据为YAML格式,则使用yaml.safe_load()方法解析
    29. elif 'application/yaml' in response.headers['Content-Type']:
    30. data = yaml.safe_load(response.text)
    31. else:
    32. data = response.text
    33. print('响应数据:', data)
    34. else:
    35. print('请求失败')

    在以上代码中,我们首先通过Swagger API文档地址获取接口信息,包括请求方法、请求参数和请求头等信息。然后使用requests.get()方法发送GET请求,并根据响应数据的格式使用不同的库对响应数据进行解析。

    需要注意的是,在使用requests库发送请求时,需要根据接口文档中所指定的请求方法进行相应的设置。例如,如果接口文档中指定了POST请求方法,则需要使用requests.post()方法发送请求。

    另外,在处理响应数据时,需要根据实际情况选择合适的解析方式。如果响应数据为JSON格式,则可以使用json.loads()方法解析;如果响应数据为YAML格式,则可以使用yaml.safe_load()方法解析。如果响应数据不是这两种格式,则直接使用response.text即可。

    总之,在使用Python进行Swagger接口测试时,需要充分利用API文档信息,正确地构造请求和解析响应数据,并进行必要的异常处理。

    最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    在这里插入图片描述

    软件测试面试小程序

    被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

    涵盖以下这些面试题板块:

    1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

    6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

  • 相关阅读:
    PLC可以连接哪些工业设备实现远距离无线通讯?工业网关可以吗?
    CI/CD(基于ESP-IDF)
    OpenCV快速入门:目标检测——轮廓检测、轮廓的距、点集拟合和二维码检测
    前后端分离毕设项目之基于springboot+vue无人智慧超市管理系统(内含源码+文档+教程)
    什么软件支持汇总和计算员工业绩
    固态硬盘SSD格式化后,数据恢复的可能性有多大?
    文献 | 关于心理活动符号学,你知道多少?
    【infiniband】infiniband和RDMA
    华为机试 - 约瑟夫问题
    【C++】面向对象编程(七)RTTI(运行时的鉴定机制):typeid、static_cast、dynamic_cast
  • 原文地址:https://blog.csdn.net/YLF123456789000/article/details/132582665