a pytest yaml allure package
Project description
pytest-yaml-fei
1. 项目概述
pytest-yaml-fei 是一个基于上海悠悠的 pytest-yaml-yoyo 框架的二次开发项目,
它集成了 pytest、yaml、allure、request 和 logging 等模块,旨在实现零代码开发接口和接口自动化测试。
用户只需编写 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 环境准备
- allure 命令行工具是需要依赖jdk 环境,可以参考java安装配置
- allure 是一个命令行工具,可以参考allure安装配置
4.5.2 生成 allure 报告
- allure 是一个命令行工具,可以参考这里安装配置 https://blog.csdn.net/weixin_44719099/article/details/143978683
在用例所在的目录执行命令, --alluredir 是指定报告生成的目录
pytest --alluredir ./report
打开allure 报告执行命令
allure serve ./report
5. 结论
pytest-yaml-fei 是一个功能强大、易于上手、维护方便的接口自动化测试框架。通过零代码开发的方式,
降低了测试人员的学习成本和技术门槛,提高了测试效率和测试质量。同时,该框架还支持多模块集成、功能丰富、
使用场景广泛,是接口自动化测试的理想选择。
6. 致谢
非常感谢上海悠悠的开源框架,感谢悠悠的开源精神。
7. 贡献与反馈
欢迎贡献代码和提出建议!如有任何问题或建议,请提交 Issue 或 Pull Request。
8. 开源协议
本项目遵循 MIT 许可证,详情请参阅 LICENSE 文件。
希望这个项目能够帮助到您进行接口自动化测试!如果您有任何问题或需要进一步帮助,请随时联系我们。谢谢!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
809a7f66afb57e72e198853fae8e5c958e8059bc5f1b75e23394fe87e3dd7262
|
|
| MD5 |
c88bb9a6c8fdb3e8d05f165838681ee3
|
|
| BLAKE2b-256 |
7f3927fde6a96c6c68a7d32a00a9bca40a4fb3795a8a98844551220680e09abf
|