Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/somospragma/qa-backend-postman-collection-builder-from-api-contract
Proyecto que genera una colección de prueba para Postman con sus variables de entorno apartir un contrato json de la API (Swagger)
https://github.com/somospragma/qa-backend-postman-collection-builder-from-api-contract
contratos-api openapi postman python swagger
Last synced: 24 days ago
JSON representation
Proyecto que genera una colección de prueba para Postman con sus variables de entorno apartir un contrato json de la API (Swagger)
- Host: GitHub
- URL: https://github.com/somospragma/qa-backend-postman-collection-builder-from-api-contract
- Owner: somospragma
- Created: 2024-07-31T22:29:31.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-10-02T20:25:26.000Z (4 months ago)
- Last Synced: 2024-11-08T18:53:44.305Z (3 months ago)
- Topics: contratos-api, openapi, postman, python, swagger
- Language: Python
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
qa-backend-postman-collection-builder-from-api-contract
Proyecto base de Pragma.
Proyecto que genera una colección de prueba para Postman con sus variables de entorno apartir un contrato json de la API (Swagger)
Topicos •
Tecnologias •
Consideraciones •
Descarga •
Instalación y ejecución •
Autores •
Roadmap## Topicos
* Contratos
* Swagger
* OpenApi
* Postman
* Python## Funcionalidades
- Descarga especificaciones OpenAPI/Swagger en formato JSON desde una URL proporcionada.
- Extrae datos relevantes de las especificaciones.
- Genera un archivo CSV con los datos extraídos.
- Crea una colección de Postman a partir de los datos extraídos.
- Genera un archivo de entorno para Postman.## Tecnologias
### This project required:
- Python 3.x
- Paquetes de Python: `requests`, `json`, `csv`, `os`, `datetime`, `urllib`## Consideraciones
Para hacer uso de la herramienta es necesario conocer sobre:
- SWAGGER desplegado sobre la web o en local con versiones 2.0 o OpenApi 3.0.1 o 3.0.2
- POSTMAN como importar collections y environments
- El script no trae body completo o ejemplos de este, es una oportunidad de mejora y es debido en los lineamientos de la documentacion y version de esta
- Verificar los datos de los environments generados
- Verificar tipo de autorizacion necesaria en las peticiones## Descarga
Para clonar está aplicación desde la linea de comando:```bash
git clone https://github.com/somospragma/qa-backend-postman-collections-contract.git
cd qa-backend-postman-collections-contract
git remote remove origin
git remote add origin URL_DE_TU_NUEVO_REPOSITORIO
git push -u origin master
```
Nota: Asegúrate de reemplazar URL_DE_TU_NUEVO_REPOSITORIO con la URL del repositorio que creaste en tu cuenta de GitHub.Puedes descargar el proyecto en el enlace [download](https://github.com/somospragma/qa-backend-postman-collections-contract)
## Instalación y ejecución
Para ejecutar está aplicación, necesitas [Python](https://www.python.org/) por lo general en algunos equipos viene instalado por linea de comandos o bien puedes hacer uso de extensiones del IDE [Visual studio Code](https://code.visualstudio.com/)
Nota:
Puedes instalar las dependencias necesarias ejecutando:```bash
pip install requests
```### Ejecuta el script Python con:
``` bash
python3 crear_collection.py
```
El script se conforma de 2 pasos#### 1. Levantamiento de informacion
- Es necesario ingresar un nombre para el proyecto
- Despues de ingresar el nombre es necesario compartir la url del json del contrato de swagger/OpenApi##### Ejemplo
url archivo = https://petstore3.swagger.io/api/v3/openapi.json
se encuentra en https://petstore3.swagger.io/#/
![OpenApi](image.png)url archivo = https://petstore.swagger.io/v2/swagger.json
se encuentra en https://petstore.swagger.io/#/
![2.0](image-1.png)#### 2. Resultados Generados:
- CSV: Los datos extraídos se guardarán en un archivo CSV en la carpeta data-out.
- Colección de Postman: La colección generada se guardará en un archivo JSON en la carpeta data-out.
- Archivo de Entorno de Postman: El archivo de entorno se guardará en la misma carpeta data-out.## Autores
Luis Alberto Mindiola G.
## Roadmap
- [Guia QA](https://github.com/orgs/somospragma/repositories?q=qa) - (En construcción) Una guia de proyectos Orientados a la Calidad de Software