• 接口自动化测试yaml+requests+allure技术,你学会了吗?


    前言

    接口自动化测试是在软件开发过程中常用的一种测试方式,通过对接口进行自动化测试,可以提高测试效率、降低测试成本。在接口自动化测试中,yaml、requests和allure三种技术经常被使用。

    一、什么是接口自动化测试

    接口自动化测试是指通过编写自动化脚本来模拟用户请求系统接口,并对返回结果进行验证和比对的过程。它可以帮助测试人员快速检查接口是否正常工作,并及时发现和修复潜在问题。

    二、为什么要进行接口自动化测试

    提高测试效率:与手动测试相比,接口自动化测试可以更快地执行测试,从而加快测试速度。

    降低测试成本:自动化测试可以大大减少测试人员的工作量,并减少测试需要的时间与资源。

    更好的测试覆盖率:通过自动化测试,可以对每一个接口进行全面测试,在保证测试质量的同时,提高了测试覆盖率。

    方便持续集成:接口自动化测试可以方便地与持续集成工具(如Jenkins等)结合,实现自动化构建和测试。

    三、接口自动化测试的流程

    接口自动化测试的主要流程包括:

    定义测试用例和测试数据:根据接口文档和需求规格书,定义需要进行测试的接口以及对应的测试用例和测试数据。

    编写自动化脚本:使用yaml语言编写自动化脚本,模拟用户发送请求并对返回结果进行验证和比对。

    执行测试:执行自动化脚本,验证接口是否正常工作,并记录测试结果。

    生成报告:使用allure技术生成测试报告,帮助测试人员更好地理解测试结果和找到问题。

    四、yaml语言介绍

    YAML是一种轻量级的数据序列化格式,它可以用来表示复杂数据结构,如列表、字典等。在接口自动化测试中,我们可以使用YAML来定义测试用例和测试数据。

    以下是一个简单的YAML文件示例:

    1. - name: get user info
    2. url: /api/user/info
    3. method: GET
    4. headers:
    5. Content-Type: application/json
    6. Authorization: Bearer {token}
    7. params:
    8. id: 123
    9. expected:
    10. status_code: 200
    11. body:
    12. id: 123
    13. name: John Doe
    14. email: john.doe@example.com

    在这个例子中,我们通过YAML定义了一个名为“get user info”的测试用例,该用例向服务器发出GET请求,获取id为123的用户信息,并验证返回的状态码为200,返回的响应体中包含id、name和email三个字段。

    五、requests库介绍

    Requests是一个Python第三方库,用于发送HTTP请求。在接口自动化测试中,我们可以使用Requests库来模拟用户向服务器发送请求,并获取返回结果。

    以下是一个简单的Requests代码示例:

    1. import requests
    2. url = 'http://localhost:8080/api/user/info'
    3. headers = {'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}
    4. params = {'id': 123}
    5. response = requests.get(url, headers=headers, params=params)
    6. assert response.status_code == 200
    7. assert response.json()['id'] == 123
    8. assert response.json()['name'] == 'John Doe'
    9. assert response.json()['email'] == 'john.doe@example.com'

    在这个例子中,我们使用Requests库发送了一个GET请求,获取id为123的用户信息,并对返回结果进行验证和比对。

    六、allure技术介绍

    Allure是一款开源测试报告框架,它可以帮助

    测试人员更好地记录和展示测试结果,包括测试用例的执行情况、错误信息、截图等。在接口自动化测试中,我们可以使用Allure来生成漂亮、易读的测试报告。

    以下是一个简单的Allure代码示例:

    1. import allure
    2. import requests
    3. @allure.feature('用户管理')
    4. def test_get_user_info():
    5. url = 'http://localhost:8080/api/user/info'
    6. headers = {'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}
    7. params = {'id': 123}
    8. with allure.step('发送请求'):
    9. response = requests.get(url, headers=headers, params=params)
    10. with allure.step('验证返回结果'):
    11. assert response.status_code == 200
    12. assert response.json()['id'] == 123
    13. assert response.json()['name'] == 'John Doe'
    14. assert response.json()['email'] == 'john.doe@example.com'
    15. allure.attach(requests.request.method, "请求方法")
    16. allure.attach(requests.request.url, "请求URL")
    17. allure.attach(str(requests.request.headers), "请求Headers")
    18. allure.attach(str(requests.request.body), "请求Body")
    19. allure.attach(str(response.status_code), "响应状态码")
    20. allure.attach(str(response.headers), "响应Headers")
    21. allure.attach(str(response.json()), "响应Body")

    在这个例子中,我们使用Allure装饰器来标记测试用例的属性,如feature(测试用例所属模块)、step(测试用例步骤)、attach(附加信息),然后通过Allure的API将相关信息以HTML格式输出到测试报告中。

    七、总结

    接口自动化测试是一种重要的测试方式,可以提高测试效率、降低测试成本。在接口自动化测试中,yaml、requests和allure三种技术经常被使用。具体而言,我们可以通过YAML来定义测试用例和测试数据,使用Requests库来模拟用户向服务器发送请求,并获取返回结果,最后使用Allure技术生成漂亮、易读的测试报告。

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

    在这里插入图片描述

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

  • 相关阅读:
    JVM-GC-G1垃圾回收器
    JS安全应用
    PostgreSQL逻辑复制(Logical Replication)原理
    计算机竞赛 基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别
    测试登录界面:Python
    Bika LIMS 开源LIMS集—— SENAITE的使用(检测流程)
    DL/ML/RL/TL/FL机器学习框架总结
    29、Nio(seletor为什么要处理完的key要手动清除(remove))
    java使用QQ邮件发送
    前端Vue 结合xlxs库实现解析excel文件,并动态组装表头!
  • 原文地址:https://blog.csdn.net/NHB456789/article/details/133747277