Giter Site home page Giter Site logo

wu-clan / httpfpt Goto Github PK

View Code? Open in Web Editor NEW
91.0 5.0 18.0 944 KB

python3 + pytest + parametrize + requests / httpx + yaml + allure + redis + mysql + pydantic + log + 飞书 / 钉钉 /企微/ 邮箱通知... 低代码数据驱动接口自动化测试框架

Home Page: https://wu-clan.github.io/httpfpt_docs/

License: MIT License

Python 98.37% HTML 1.57% Shell 0.06%
pytest parametrize apiautotest autotest-framework testing

httpfpt's Introduction

Stats WeChat #QQ
个人 GitHub 统计 备注来意 社区通道

Lines of code

📅 I'm Most Productive on Tuesday

Monday                   529 commits         ⣿⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀   13.69 % 
Tuesday                  661 commits         ⣿⣿⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀   17.11 % 
Wednesday                652 commits         ⣿⣿⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀   16.88 % 
Thursday                 550 commits         ⣿⣿⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀   14.24 % 
Friday                   483 commits         ⣿⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀   12.50 % 
Saturday                 447 commits         ⣿⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀   11.57 % 
Sunday                   541 commits         ⣿⣿⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀   14.00 % 

Last Updated on 15/08/2024 16:25:12 UTC

httpfpt's People

Contributors

dependabot[bot] avatar ranyong1997 avatar wu-clan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

httpfpt's Issues

支持测试用例数据在线管理?

TODO: 测试用例数据可以存放至gitee/github…

针对此功能的讨论,欢迎🤗

  • 如何兼容本地测试用例数据?
  • 测试开始时自动拉取?
  • 拉取后自动检测架构?

更新配置缓存

更新系统配置缓存,默认测试执行前缓存所有常量。

✨ TODO

在这里,把你的任何想法和建议分享出来吧,说不定哪天就实现了

  • 失败重试

    P.S.: 当前只针对 API 请求失败进行重试,其他任何地方的错误都将直接终止 case

  • 多线程运行(缺少技术方案)

  • 支持依赖接口 response 多次提取

  • 支持执行关联测试用例时更新依赖接口请求数据

  • 支持 jsonschema 断言

  • 支持 python 正则断言

  • 支持 pytest_mark 动态标记

  • 添加 json 格式测试数据支持,兼容 yaml 格式

  • 完善测试数据导入(繁琐,长期)

  • 支持 cookie 请求参数

  • 支持完整请求链接 url

  • 支持通过配置设置是否跳过执行当前文件所有测试用例

添加 jmespath 支持

jemspath 有良好的社区支持以及实施标准

虽然没有 jsonpath 使用广泛,但可以作为第二选择

重构测试用例数据缓存

  1. 开始运行时,读取所有测试用例文件,按照文件名称将数据依次写入 redis
  2. 测试用例中将不读取文件,而是从 redis 中获取数据
  3. 关联测试用例:在写入测试用例数据时,同步写入一个 case_id 项目,包含 {"文件名称": [case_id]},用于处理关联测试用例

流程图优化

为了能够将框架内所有的功能以及执行流程集成到一起,同时又为了能够在平台页面上完美展示常规清晰度,这很考研分辨率调节,因此,我简洁了很多东西;

请提出宝贵建议,我会根据合理建议持续对流程图进行更新优化,thanks everyone!

Excel 格式意见征集

Hi,everyone, my friends

excel 格式在改造之初与 yaml 格式并行,随着不断的更新迭代,excel 存在复杂适配弊端,因此逐渐被阉割

在一些灵活度较高的配置中,yaml 的优势显而易见,这对于 excel 来说可能会是一个痛点,很有可能需要在固定输入框填入 json!

我们目前仍处于测试阶段,但架构已初步稳定,excel 有望回归,请提出你的宝贵建议和想法,它们很有可能用于内部实施

用例参数问题

业务接口校验的token是每次请求实时计算的,大概是key+secret+一些固定值计算并放入header中,目前看文档都是固定的文件,没有头绪怎么处理

pip roadmap

我正在转型本地代码为SDK,敬请等待...

并更 Typer CLI 实施

目前内部使用 Typer 作为 CLI 创建程序,但是 Typer 在使用过程中存在一些未知问题,决定将 Typer 替换为 cappa

通过 IDE 运行 run() 方法前,添加 pydantic 架构强制检测?

TODO?: 是否需要一个测试启动前的强制验证?

针对此功能的讨论,欢迎🤗

目前包含手动架构检测 CLI 命令,测试用例中包含 use_pydantic_verify 参数,它们都可以进行架构验证

实际上,数据错误是可以在测试中被完全捕获的,并且是明确的报错信息,但是强制验证的话可能减少回归测试时间,错误被提前暴漏并且必须修改以通过验证,但是 pydantic 验证目前没有准确定位,它可以实现,但是 pydantic-2.0a1 发布了,我不想再在 v1 上花时间去添加此功能,而是等待 v2,这是肯定的,因为 v2 速度比 v1 快[5-50]倍

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.