Skip to main content

a pytest yaml allure package

Project description

pytest-yaml-fei

1. 项目概述

pytest-yaml-fei 是一个基于上海悠悠的 pytest-yaml-yoyo 框架的二次开发项目, 它集成了 pytestyamlallurerequestlogging 等模块,旨在实现零代码开发接口和接口自动化测试。 用户只需编写 yaml 用例文件,即可快速实现自动化测试。

2. 项目特点

2.1 零代码开发

  • 零代码:用户无需编写复杂的 Python 代码,只需编写 yaml 用例文件即可实现自动化测试。
  • 易于上手:对于非开发人员或测试人员来说,降低了学习成本和技术门槛。

2.2 集成多模块

  • pytest:强大的测试框架,支持多种测试方式和断言。
  • yaml:简洁易读的数据序列化格式,适合编写测试用例。
  • allure:生成美观的测试报告,方便团队沟通和问题追踪。
  • request:用于发送 HTTP 请求,支持多种请求方法和参数。
  • logging:记录测试过程中的日志信息,便于问题排查。
  • Jinja2:模板引擎,支持在 yaml 文件中使用变量和表达式。
  • faker:生成测试数据,支持生成多种测试数据。
  • requests-toolbelt:用于处理复杂的 HTTP 请求,如文件上传、表单提交等。
  • DingtalkChatbot:钉钉机器人,支持测试结果和 allure 报告地址的自动通知。

2.3 功能丰富

  • 接口请求:支持 GET、POST、PUT、DELETE 等多种 HTTP 请求方法。
  • 接口关联:支持多个接口之间的参数关联和数据传递。
  • 接口断言:支持对响应状态码、响应体等进行断言。
  • 用例分层机制:API和用例层,便于管理和维护。
  • 自定义函数:yaml 中支持自定义函数调用。
  • 数据驱动测试:支持通过 yaml 文件传递测试数据,实现参数化测试。
  • 日志记录:记录测试过程中的详细信息,便于问题排查和追溯。
  • 测试报告:生成详细的allure测试报告,包括测试用例执行情况、断言结果等。
  • DB操作:支持 mysql 数据库增删改查。
  • 结果通知:支持钉钉机器人通知测试结果和 allure 报告地址。

2.4 维护方便

  • 项目配置:支持通过配置文件对项目进行全局配置,如 base_url、全局 token 等。
  • 多环境支持:支持多套环境切换,方便在不同环境下进行测试。
  • 持续集成:支持 CLI 执行,适配持续集成 CI/CD 流程。

3. 使用场景

  • 接口测试:适用于各种 Web 接口的自动化测试。
  • 性能测试:结合其他性能测试工具,可进行接口的性能测试。
  • 持续集成:集成到 CI/CD 流程中,实现自动化测试和部署。

4. 快速开始

4.1 环境准备

  • Python 版本:最低版本要求 Python 3.8 或以上版本。
  • pip 安装:通过 pip 安装 pytest-yaml-fei 插件。
pip install pytest-yaml-fei

4.2 创建项目

使用 --start-project 命令快速创建项目 demo 结构,并自动创建几个简单的用例。

pytest --start-project

4.3 编写 yaml 用例

在项目的 testcases 目录下编写 yaml 用例文件,如 test_login.yml。

config:
  name: login case
  base_url: http://127.0.0.1:8000
  variables:
    username: "test123"
    password: "123456"

teststeps:

- name: step login1
  request:
    method: POST
    url: /login
    json:
      username: ${username}
      password: ${password}
  validate:
  - eq: [status_code, 200]
  - eq: [body.json.message, login success]

4.4 执行用例

在项目根目录下执行 pytest 命令,运行 yaml 用例文件。

pytest test_login.yml

4.5 allure报告

4.5.1 allure 环境准备
4.5.2 生成 allure 报告

在用例所在的目录执行命令, --alluredir 是指定报告生成的目录

pytest --alluredir ./report

打开allure 报告执行命令

allure serve ./report

5. 结论

pytest-yaml-fei 是一个功能强大、易于上手、维护方便的接口自动化测试框架。通过零代码开发的方式, 降低了测试人员的学习成本和技术门槛,提高了测试效率和测试质量。同时,该框架还支持多模块集成、功能丰富、 使用场景广泛,是接口自动化测试的理想选择。

6. 致谢

非常感谢上海悠悠的开源框架,感谢悠悠的开源精神。

7. 贡献与反馈

欢迎贡献代码和提出建议!如有任何问题或建议,请提交 Issue 或 Pull Request。

8. 开源协议

本项目遵循 MIT 许可证,详情请参阅 LICENSE 文件。


希望这个项目能够帮助到您进行接口自动化测试!如果您有任何问题或需要进一步帮助,请随时联系我们。谢谢!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest-yaml-fei-2.0.0.tar.gz (27.4 kB view details)

Uploaded Source

File details

Details for the file pytest-yaml-fei-2.0.0.tar.gz.

File metadata

  • Download URL: pytest-yaml-fei-2.0.0.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for pytest-yaml-fei-2.0.0.tar.gz
Algorithm Hash digest
SHA256 809a7f66afb57e72e198853fae8e5c958e8059bc5f1b75e23394fe87e3dd7262
MD5 c88bb9a6c8fdb3e8d05f165838681ee3
BLAKE2b-256 7f3927fde6a96c6c68a7d32a00a9bca40a4fb3795a8a98844551220680e09abf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page