All Projects → meqaio → Swagger_meqa

meqaio / Swagger_meqa

Licence: mit
Auto generate and run tests using swagger/OpenAPI spec, no coding needed

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Swagger meqa

Grpc Gateway
The gRPC-Gateway is a plugin of the Google protocol buffers compiler protoc. It reads protobuf service definitions and generates a reverse-proxy server which translates a RESTful HTTP API into gRPC. This server is generated according to the google.api.http annotations in your service definitions.
Stars: ✭ 12,223 (+7994.7%)
Mutual labels:  rest-api, swagger, openapi, restful-api
Swurg
Parse OpenAPI documents into Burp Suite for automating OpenAPI-based APIs security assessments (approved by PortSwigger for inclusion in their official BApp Store).
Stars: ✭ 94 (-37.75%)
Mutual labels:  swagger, openapi, restful-api, yaml
Hitchhiker
a Restful Api test tool
Stars: ✭ 2,175 (+1340.4%)
Mutual labels:  restful-api, test, testing-tools, test-automation
Flasgger
Easy OpenAPI specs and Swagger UI for your Flask API
Stars: ✭ 2,825 (+1770.86%)
Mutual labels:  rest-api, swagger, openapi, restful
eat
Json based scenario testing tool(which can have test for functional and non-functional)
Stars: ✭ 41 (-72.85%)
Mutual labels:  test, test-automation, testing-tools, testing-framework
Php Crud Api
Single file PHP script that adds a REST API to a SQL database
Stars: ✭ 2,904 (+1823.18%)
Mutual labels:  rest-api, swagger, openapi, restful
Proteus
Lean, mean, and incredibly fast JVM framework for web and microservice development.
Stars: ✭ 178 (+17.88%)
Mutual labels:  rest-api, swagger, openapi, restful-api
IO-TESTER
A functional test framework
Stars: ✭ 32 (-78.81%)
Mutual labels:  test, test-automation, testing-tools, testing-framework
Wasmite
Now WebAssembly has proper testing, unit-testing and debugging 🤗
Stars: ✭ 20 (-86.75%)
Mutual labels:  test, test-automation, testing-tools, testing-framework
Gemini
Model Driven REST framework to automatically generate CRUD APIs
Stars: ✭ 138 (-8.61%)
Mutual labels:  rest-api, swagger, openapi
Flask Restplus Server Example
Real-life RESTful server example on Flask-RESTplus
Stars: ✭ 1,240 (+721.19%)
Mutual labels:  rest-api, swagger, openapi
Testcafe
A Node.js tool to automate end-to-end web testing.
Stars: ✭ 9,176 (+5976.82%)
Mutual labels:  test, testing-tools, test-automation
Restfm
RESTful web services for FileMaker server.
Stars: ✭ 76 (-49.67%)
Mutual labels:  rest-api, restful-api, restful
Graceful
Elegant Python REST toolkit built on top of falcon
Stars: ✭ 73 (-51.66%)
Mutual labels:  rest-api, restful-api, restful
Ssm
👅基于RESTful风格的前后端分离的SSM框架,集成了shiro和swagger等框架
Stars: ✭ 141 (-6.62%)
Mutual labels:  rest-api, swagger, restful
Jokeapi
A REST API that serves uniformly and well formatted jokes in JSON, XML, YAML or plain text format that also offers a great variety of filtering methods
Stars: ✭ 71 (-52.98%)
Mutual labels:  rest-api, restful-api, yaml
Springdoc Openapi
Library for OpenAPI 3 with spring-boot
Stars: ✭ 1,113 (+637.09%)
Mutual labels:  rest-api, swagger, openapi
Api Restful Con Laravel Guia Definitiva
Repositorio para el código base del curso "API RESTful con Laravel - Guía Definitiva"
Stars: ✭ 95 (-37.09%)
Mutual labels:  rest-api, restful-api, restful
Node Typescript Mongodb
node js typescript mongodb express generator yo
Stars: ✭ 96 (-36.42%)
Mutual labels:  rest-api, swagger, restful
Codeigniter Jwt Sample
CodeIgniter JWT Sample
Stars: ✭ 144 (-4.64%)
Mutual labels:  rest-api, restful-api, restful

OpenAPI Testing Meqanized

Meqa generates and runs test suites using your OpenAPI (formerly Swagger) spec in YAML. It makes REST API testing easy by generating useful test patterns - no coding needed.

Demo

gif

Highlights

  • Understands the object relationships and generates tests that use the right objects and values.
  • Uses the description fields in the OpenAPI spec to understand the spec better and further improve accuracy.
  • Verifies the REST call results against known objects and values.
  • Verifies the REST call results against OpenAPI schema.
  • Produces easy to understand and easy to modify intermediate files for customization.

Getting Started

The compiled binaries for Linux, Windows and MacOS are under releases. You can also docker pull meqa/go:latest. In the examples below we use the classic [petstore example spec] (http://petstore.swagger.io/).

There are two steps.

  • Use your OpenAPI spec (e.g., petstore.yml) to generate the test plan files.
  • Pick a test plan file to run.

The commands are:

  • mqgo generate -d /testdata/ -s /testdata/petstore.yml
  • mqgo run -d /testdata/ -s /testdata/petstore_meqa.yml -p /testdata/path.yml

The run step uses petstore_meqa.yml, which is a tagged version of the original petstore.yml.

  • Search for meqa in petstore_meqa.yml to see all the tags.
  • The tags will be more accurate if the OpenAPI spec is more structured (e.g. using #definitions instead of inline Objects) and has more descriptions.
  • See meqa Format for the meaning of tags and adjust them if a tag is wrong.
  • If you add or override the meqa tags, you can feed the tagged yaml file into the "mqgo generate" function again to create new test suites.

The run step takes a generated test plan file (path.yml in the above example).

  • simple.yml just exercises a few simple APIs to expose obvious issues, such as lack of api keys.
  • path.yml exercises CRUD patterns grouped by the REST path.
  • object.yml tries to create an object, then exercises the endpoints that needs the object as an input.
  • The above are just the starting point as proof of concept. We will add more test patterns if there are enough interest.
  • The test yaml files can be edited to add in your own test suites. We allow overriding global, test suite and test parameters, as well as chaining output to input parameters. See meqa format for more details.

Docs

For more details see the docs directory.

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].