All Projects → xuping2012 → httprunner_swagger

xuping2012 / httprunner_swagger

Licence: other
The open source project uses Python 3 to parse swagger2 X version of the interface document, which can generate data files in the format of JSON, yaml, CVs and xlsx. The solution of automatically generating use cases for interface automatic testing is applicable to HTTP Runner 2 X version of interface automation test framework; It can be called …

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to httprunner swagger

Metersphere
MeterSphere 是一站式开源持续测试平台,覆盖测试管理、接口测试、性能测试等。搞测试,就选 MeterSphere!
Stars: ✭ 6,331 (+16133.33%)
Mutual labels:  swagger, jmeter
Go-Gin-Api
基于golang开源框架 gin封装的api框架
Stars: ✭ 42 (+7.69%)
Mutual labels:  swagger
AnotherFasterRunner
基于HttpRunner+Python+DRF+Vue的接口自动化测试平台
Stars: ✭ 216 (+453.85%)
Mutual labels:  httprunner
cowboy swagger
Swagger integration for Cowboy (built on trails)
Stars: ✭ 109 (+179.49%)
Mutual labels:  swagger
shipengine-openapi
The official OpenAPI 3.0 definitions for ShipEngine™
Stars: ✭ 13 (-66.67%)
Mutual labels:  swagger
SpringBoot-Learn
Spring Boot 入门
Stars: ✭ 62 (+58.97%)
Mutual labels:  swagger
fhir-fuel.github.io
Place to prepare proposal to FHIR about JSON, JSON-Schema, Swagger/OpenAPI, JSON native databases and other JSON-frendly formats (yaml, edn, avro, protobuf etc) and technologies
Stars: ✭ 20 (-48.72%)
Mutual labels:  swagger
SparkTodo
TodoList WebApi Powered by ASP.Net Core and JWT token auth
Stars: ✭ 37 (-5.13%)
Mutual labels:  swagger
network-pipeline
Network traffic data pipeline for real-time predictions and building datasets for deep neural networks
Stars: ✭ 36 (-7.69%)
Mutual labels:  swagger
echoswagger
Swagger UI generator for Echo framework
Stars: ✭ 34 (-12.82%)
Mutual labels:  swagger
symfony5-jwt-restapi
API for Meeting app development
Stars: ✭ 21 (-46.15%)
Mutual labels:  swagger
wadl2json
Convert a remote WADL file into a JSON equivalent
Stars: ✭ 14 (-64.1%)
Mutual labels:  swagger
openapi-schema-validator
OpenAPI schema validator for Python
Stars: ✭ 35 (-10.26%)
Mutual labels:  swagger
api
🚀 Automatic SDK generation from an OpenAPI definition
Stars: ✭ 127 (+225.64%)
Mutual labels:  swagger
ahobsu-node-backend
🌈 MOTI ! Make Own True Identity ⭐️ 유니큐와 유초코파이 노드로 탈주하다😎
Stars: ✭ 16 (-58.97%)
Mutual labels:  swagger
JavaEE-projects
存放一些自己写的还有从不同开源社区fork下来的JavaEE项目,其中就不乏一些很多企业单位都在用的源码。
Stars: ✭ 43 (+10.26%)
Mutual labels:  swagger
openapi-generator-for-spring
Open API v3 Generator for Spring Boot applications
Stars: ✭ 54 (+38.46%)
Mutual labels:  swagger
kompendium
Ktor OpenAPI Spec Generator
Stars: ✭ 46 (+17.95%)
Mutual labels:  swagger
openapi-assert
Asserting data against OpenAPI docs.
Stars: ✭ 17 (-56.41%)
Mutual labels:  swagger
jmeter-plugins
Docker image for Apache JMeter with JMeter plugins - https://jmeter.apache.org & https://jmeter-plugins.org
Stars: ✭ 20 (-48.72%)
Mutual labels:  jmeter

@[toc] 使用手册请参考最后说明!

@[author] wx:oupoor

@[swagger] 仅支持swagger2.0版本,3.0部分数据存在解析错误

使用说明

该开源项目使用python3解析swagger2.x版本的接口文档,可生成格式为:JSON、YAML、CVS、XLSX的数据文件。为接口自动化测试提供的自动生成用例解决方案,
并适用于HTTPRUNNER2.x版本的接口自动化测试框架;可针对任何测试套件或单个api的接口测试用例进行调用,可以快速实现企业级接口自动化测试解决方案。
默认生成json格式的数据文件,框架支持切换到yaml格式,写入excel文件,并支持转换为csv格式的数据文件,csv文件还支持jmeter数据驱动接口自动化测试解决方案。
  • 本地安装python开发环境
  • 克隆项目到本地:git clone
  • 安装项目依赖:pip install -r requirements.txt
  • 因为项目中swagger.py脚本已经引用了dirConfig工程结构,会先创建目录对应目录
  • 确认config.ini配置文件需要解析的接口文档地址
  • 执行程序入口在swagger脚本main代码块,也可以使用单独抽取出来放在项目根路径
  • SwaggerTestSuites生成json格式数据是给httprunnermanager这个项目批量导入接口使用的

项目结构说明:

  • logs:存放脚本执行日志
  • properties:存放配置信息
  • swagger:存放生成json测试用例文件
  • swaggerLib:解析swagger接口文档脚本,包含一个testsuite脚本生成的用例格式可与httprunnermanager批量导入有效
  • utils:封装工具包
  • common:
    • dir_config.py:为项目拼接路径配置模块

背景介绍

鉴于大多数互联网公司均采用java作为后台开发语言,且习惯使用Swagger插件生成接口文档;
本项目的开发,是为解决测试人员依赖swagger接口文档做接口测试需要cv/cp的重复手工劳动。

项目需求

  • 为什么要做接口测试?
受自动化测试分层思想影响:UI自动化投入/维护成本高且收益甚微,
而当下测试人员编码能力有限,那么中间层的接口测试战略位置尤为重要;
1、更快实现接口自动化测试,更早加入持续集成;
2、通过定制触发器实时监控生产应用服务健康状况;
3、后端服务的性能测试更是需要掌握接口测试的基础。
  • 如何开展接口测试?
首先需要了解主流接口协议,如http,明白接口组成以及请求和响应过程;
再者需要知道接口测试的业务范围,前端的功能测试与之并不是重复工作;
最后需要清楚业务规则及接口的业务逻辑实现,才能更好的服务接口测试。
  • 如何才能减去反复的手工活动?

做接口测试时,需要组装接口url及入参,对着接口文档和接口测试工具无限制的ctrl+c / ctrl+v?

首推自动化测试技术!

推荐接口测试工具:jmeter/httprunner/postman/rf,不排除其他框架,它们都能向往着DDT的方向发展;
接口测试工具原理:都是通过脚本/工具实现模拟客户端向服务端发起请求,然后校验服务器返回数据的过程。

实现一

python编写脚本对swagger2.x接口文档返回的josn数据对象进行解析,提取接口信息,
按规则写入excel组成测试用例,支持excel转成csv结合jmeter实现DDT接口自动化测试;

2021-08-05,使用pandas模块将生成xlsx用例文件转成csv文件

实现二

引入httprunner<2.x>框架,同样是通过解析swagger2.x接口文档生成的json格式的数据文件;
<亦可通过charles抓包工具导出har文件,再通过har2case转换json测试用例>,可以直接通过CLI执行;

本项目不包含httprunner框架,需要用户自己安装:pip install httprunner==2.4.3

实现三

既然已知swagger接口文档并且能解析数据形成excel或者json格式的测试用例,
那么也可以结合python/java等开发语言集合单元测试框架搭建自动化测试框架。

最后

欢迎各位大佬使用并提出改善意见,十分感谢!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].