Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

基于pytest的异步接口自动化框架。个人练习项目

License

NotificationsYou must be signed in to change notification settings

3293406747/ddddpytest

Repository files navigation

🔗真希望你没见过什么世面,一生只爱我这张平凡的脸

带带弟弟pytest

GitHub starsLicensetelegram

本项目实现接口自动化的技术选型:Aiohttp+Pytest+Yaml+Excel+Smtplib 。 其中Aiohttp用于发送和处理HTTP协议的请求接口,Pytest作为测试执行器,YAML和Excel文件用于测试数据的管理和测试报告的生成,最后使用Smtplib发送测试报告邮件。

特征

  • 采用协程方式发送请求,提高了测试用例执行效率
  • 采用统一请求封装,session自动关联,支持多个session之间切换
  • 采用关键字驱动设计,测试数据易于维护
  • 自动渲染测试用例,自动处理请求中的文件,并能自动提取请求和响应中的内容进行断言
  • 项目运行时自动生成日志文件和测试报告,且自动发送测试报告邮件
  • Yaml文件可关联Excel文件,用于存储公共测试数据和测试数据
  • Yaml及Excel文件中可使用变量和调用Python函数,方便测试用例编写
  • 支持使用Python变量和文件变量,增加测试用例的灵活性
  • 支持MySQL数据库连接及操作,同时支持生成Mock数据,便于测试用例的编写

📢项目开发环境:win11+python3.10

部署

  1. 下载项目源码后,在根目录下找到requirements_dev.txt文件,然后通过 pip 工具安装项目运行依赖,执行命令:
pip3 install -r requirements_dev.txt
  1. debug/config/local.yaml文件中配置数据库参数和邮件参数。
  2. debug/db目录中找到user.sql并运行初始化数据库。
  3. debug/flask_app目录中运行api.py启动服务。
  4. 之后运行main.py,或在Terminal窗口cd到项目根目录后执行命令:
pytest

示例

fromcommon.read.caseimportread_casefromdebugimportauto_requestfromdebug.script.conftestimportparametrize@parametrize(read_case("debug/testcase/method.yaml"))asyncdeftest_get(case):awaitauto_request(case)
# method.yaml-casename:get请求request:url:http://127.0.0.1:5000/getmethod:GETparams:foo1:bar1foo2:bar2

支持

  1. 如果喜欢ddddpytest,欢迎在GitHub上进行Star。
  2. 本项目使用过程中遇到问题或一起交流学习欢迎添加我的微信或Telegram 进行沟通。

vx


[8]ページ先頭

©2009-2025 Movatter.jp