Runner automatizado para execução de testes Newman (Postman CLI) com geração de relatórios (HTML, CSV, texto) e envio de email via Mailjet. Ideal para automação de QA, pipelines CI/CD e ambientes multi-cliente. Palavras-chave: newman, postman, api testing, relatórios, mailjet, ci/cd, automação, multi-cliente, python, cli.
Project description
ucloud-newman-runner
Automatize a execução de testes de APIs Postman/Newman, gere relatórios HTML customizados (Jinja2) e envie resultados por e-mail. Pronto para CI/CD, PyPI e Docker.
Visão Geral
O ucloud-newman-runner é um runner Python para automação de testes de APIs via Newman (Postman CLI), com geração de relatórios HTML, CSV e texto, além de envio automático por e-mail (Mailjet). Ideal para times de QA, pipelines CI/CD e ambientes multi-cliente.
- Execução automatizada de coleções Postman
- Relatórios HTML customizados (Jinja2)
- Envio de resultados por e-mail (Mailjet)
- Geração opcional de CSV e TXT
- Pronto para uso local, CI/CD, PyPI e Docker
Instalação Rápida
PyPI
pip install ucloud-newman-runner
Docker
docker pull ucloudservices/ucloud-newman-runner:latest
docker run --rm -v $(pwd):/data ucloudservices/ucloud-newman-runner:latest --run --collection /data/colecao.json --environment /data/env.json ...
Uso Básico
ucloud-newman-runner --run \
--collection <colecao.json> \
--environment <env.json> \
--destination ./results/ \
--mailjet-api-key <API_KEY> \
--mailjet-api-secret <API_SECRET> \
--send-email-to email@dominio.com
Veja todos os parâmetros e exemplos em docs/USAGE.md.
Dica: Todos os parâmetros podem ser definidos por variável de ambiente (ex:
MAILJET_API_KEY).
Estrutura do Projeto
ucloud-newman-runner/
├── src/runner/ # Core do runner (run.py, config.py, emailer.py, reporting.py)
├── src/runner/templates/ # Templates Jinja2 para relatórios
├── tests/ # Testes automatizados (pytest)
├── requirements.txt # Dependências principais
├── pyproject.toml # Configuração de build PyPI
├── .ci/ # Dockerfile, entrypoint, CI/CD
├── README.md, LICENSE, ...
Mais detalhes em docs/ESTRUTURA.md.
Troubleshooting Rápido
- Template não encontrado:
- Instale via
pipe use o comando global. Para dev, o runner faz fallback automático.
- Instale via
- Erro ao enviar e-mail:
- Verifique as credenciais do Mailjet e conectividade com a API.
- Permissão de escrita:
- Garanta permissão nos diretórios de destino dos relatórios.
- Newman não encontrado:
- Instale Node.js 18.12+, Newman e newman-reporter-htmlextra globalmente.
Veja mais dicas em docs/TROUBLESHOOTING.md.
Contribuição
- Fork o projeto e crie uma branch para sua feature.
- Siga PEP 8, use type hints e escreva testes.
- Execute
pyteste pre-commit antes de abrir PR. - Detalhe sua contribuição no PR e aguarde review.
Consulte docs/CONTRIBUTING.md para padrões e fluxo completo.
Licença
MIT. Veja o arquivo LICENSE.
Links Úteis
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ucloud_newman_runner-0.14.0.tar.gz.
File metadata
- Download URL: ucloud_newman_runner-0.14.0.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dafdd51d6fce4769fb363fd156ed83ad6cc88dd00ca5e125fd754b3ce9c172cf
|
|
| MD5 |
6e5f7973801b7c27bc13f85f4acbe960
|
|
| BLAKE2b-256 |
3127a43cfd0d6165d0fc0b7bb6b68473f505262cfda93422971c62b522c7124f
|
File details
Details for the file ucloud_newman_runner-0.14.0-py3-none-any.whl.
File metadata
- Download URL: ucloud_newman_runner-0.14.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7dae579bdde65a3da712f3b538e2f84f9a48a1a4b0cdda23775dd053cf7182c
|
|
| MD5 |
de29e44e5b1d913d33a0c7c47c5930fd
|
|
| BLAKE2b-256 |
b26f500b164e0e5af849ac2107d7d1899a21278bf32421c004d9d735ae75c390
|