{"id":34861033,"url":"https://github.com/sthefanyricardo/testes-api-postman-newman","last_synced_at":"2026-03-16T07:01:01.902Z","repository":{"id":323409615,"uuid":"1093129501","full_name":"sthefanyricardo/testes-api-postman-newman","owner":"sthefanyricardo","description":"Repositório dedicado ao curso \"Dominando Postman (2025): Do Teste Manual a Performance APIs\", disponível na Udemy e no Qualiters Club. Aqui, você encontrará os códigos-fonte, exemplos práticos e exercícios desenvolvidos durante o curso.","archived":false,"fork":false,"pushed_at":"2025-11-26T04:49:08.000Z","size":272,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-27T05:57:17.672Z","etag":null,"topics":["api-rest","github","githubactions","newman","newman-reporter","newman-reporter-htmlextra","newman-reporters","postman","postman-api","postman-collection","postman-environment","postman-test","postman-testing","server-rest","serverest","testes-api"],"latest_commit_sha":null,"homepage":"https://sthefanyricardo.github.io/testes-api-postman-newman/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sthefanyricardo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-10T00:10:27.000Z","updated_at":"2025-11-26T04:49:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sthefanyricardo/testes-api-postman-newman","commit_stats":null,"previous_names":["sthefanyricardo/testes-api-postman-newman"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sthefanyricardo/testes-api-postman-newman","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthefanyricardo%2Ftestes-api-postman-newman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthefanyricardo%2Ftestes-api-postman-newman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthefanyricardo%2Ftestes-api-postman-newman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthefanyricardo%2Ftestes-api-postman-newman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sthefanyricardo","download_url":"https://codeload.github.com/sthefanyricardo/testes-api-postman-newman/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthefanyricardo%2Ftestes-api-postman-newman/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30571160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-16T06:02:37.763Z","status":"ssl_error","status_checked_at":"2026-03-16T06:02:14.913Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-rest","github","githubactions","newman","newman-reporter","newman-reporter-htmlextra","newman-reporters","postman","postman-api","postman-collection","postman-environment","postman-test","postman-testing","server-rest","serverest","testes-api"],"created_at":"2025-12-25T21:04:53.556Z","updated_at":"2026-03-16T07:01:01.859Z","avatar_url":"https://github.com/sthefanyricardo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ch1\u003e🏆 Testes de API com Postman e Newman\u003c/h1\u003e\n\n\u003c!-- Badges de Tecnologias --\u003e\n[![Node Version](https://img.shields.io/badge/Node-%3E%3D14.0.0-339933?logo=node.js)](https://nodejs.org)\n[![npm Version](https://img.shields.io/badge/npm-%3E%3D6.0.0-CB3837?logo=npm)](https://npmjs.com)\n[![Postman](https://img.shields.io/badge/Postman-FF6C37?logo=postman\u0026logoColor=white)](https://www.postman.com/)\n[![Newman](https://img.shields.io/badge/Newman-CLI-FF6C37?logo=postman\u0026logoColor=white)](https://github.com/postmanlabs/newman)\n\n\u003c!-- Badges de Status do Projeto --\u003e\n[![GitHub Actions](https://github.com/sthefanyricardo/testes-api-postman-newman/actions/workflows/main.yml/badge.svg)](https://github.com/sthefanyricardo/testes-api-postman-newman/actions)\n[![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-Live-success?logo=github)](https://sthefanyricardo.github.io/testes-api-postman-newman/)\n[![Issues](https://img.shields.io/github/issues/sthefanyricardo/testes-api-postman-newman?logo=github)](https://github.com/sthefanyricardo/testes-api-postman-newman/issues)\n[![Pull Requests](https://img.shields.io/github/issues-pr/sthefanyricardo/testes-api-postman-newman?logo=github)](https://github.com/sthefanyricardo/testes-api-postman-newman/pulls)\n\u003c!-- Badge de Última Atualização --\u003e\n[![Last Commit](https://img.shields.io/github/last-commit/sthefanyricardo/testes-api-postman-newman?logo=github)](https://github.com/sthefanyricardo/testes-api-postman-newman/commits/main)\n\n\u003c!-- Badges de Métricas (Opcionais) --\u003e\n[![GitHub stars](https://img.shields.io/github/stars/sthefanyricardo/testes-api-postman-newman?style=social)](https://github.com/sthefanyricardo/testes-api-postman-newman/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/sthefanyricardo/testes-api-postman-newman?style=social)](https://github.com/sthefanyricardo/testes-api-postman-newman/network/members)\n[![GitHub watchers](https://img.shields.io/github/watchers/sthefanyricardo/testes-api-postman-newman?style=social)](https://github.com/sthefanyricardo/testes-api-postman-newman/watchers)\n\n\u003c/div\u003e\n\n---\n## 📋 Índice\n\n- [Sobre o Projeto](#-sobre-o-projeto)\n- [Funcionalidades](#-funcionalidades)\n- [Tecnologias e Ferramentas](#️-tecnologias-e-ferramentas)\n- [Estrutura do Projeto](#-estrutura-do-projeto)\n- [Cobertura de Testes](#-cobertura-de-testes)\n- [Cobertura de Testes Resumo](docs/test-coverage-summary.md)\n- [Cobertura de Testes Detalhada](docs/test-coverage.md)\n- [Roadmap](#️-roadmap)\n- [Pipeline CI/CD](#️-pipeline-cicd)\n- [Pré-requisitos](#-pré-requisitos)\n- [Instalação](#-instalação)\n- [Como Executar](#️-como-executar)\n- [Relatórios](#-relatórios)\n- [Contribuindo](#-contribuindo)\n- [Agradecimentos](#-agradecimentos)\n- [Contato](#-contato)\n- [Links Úteis](#-links-úteis)\n\n---\n\n## 🎓 Sobre o Projeto\n\nEste repositório demonstra a implementação completa de **testes automatizados de API** utilizando **Postman** e **Newman**, com integração contínua via **GitHub Actions** e deploy no **Github Pages**.\n\n### 📝 Objetivo\n\nO projeto foi desenvolvido como parte do curso \"[Dominando Postman: Do Teste Manual a Performance APIs](https://www.udemy.com/course/dominando-postman-2023-testando-e-automatizado-apis)\" na Udemy e no Qualiters Club, ministrado pela Priscila Caimi, e tem como objetivo:\n\n- ✅ Demonstrar proficiência em **testes funcionais, automatizados e de performance** de APIs REST\n- ✅ Automatizar a execução de testes utilizando **Newman CLI**\n- ✅ Gerar **relatórios profissionais** com múltiplos formatos (HTML, HTML-EXTRA, CSV, JSON)\n- ✅ Implementar **pipeline CI/CD** com GitHub Actions\n- ✅ Publicar relatórios automaticamente no **GitHub Pages**\n- ✅ Aplicar boas práticas de QA e DevOps\n\n### 🧠 API ServeRest\n\nEste projeto utiliza a [**ServeRest API**](https://serverest.dev/), uma API REST gratuita que simula uma loja virtual, desenvolvida por [Paulo Gonçalves](https://github.com/PauloGoncalvesBH) especificamente para servir como material de estudos em testes de API.\n\n#### Endpoints testados:\n- 🔐 `/login` - Autenticação e autorização de usuários\n- 👤 `/usuarios` e `/usuarios/{_id}` - Gerenciamento de usuários (CRUD)\n- 📦 `/produtos` e `/produtos/{_id}` - Gerenciamento de produtos (CRUD)\n- 🛒 `/carrinhos`, `/carrinhos/{_id}`, `/carrinhos/concluir-compra` e `/carrinhos/cancelar-compra` - Operações de carrinho de compras \n\n---\n\n## ✨ Funcionalidades\n\n### Tipos de Testes Implementados\n\n- **Testes Funcionais**: Validação de endpoints, status codes, headers e payloads\n- **Testes de Contrato**: Validação de JSON schema com a biblioteca Ajv\n- **Testes Negativos**: Validação de cenários de erro e edge cases\n- **Testes de Segurança**: Validação de autenticação e autorização (Admin vs User)\n- **Testes de Integração**: Fluxos completos entre múltiplos endpoints\n- **Testes de Performance**: Medição e validação de tempo de resposta\n\n### Recursos Técnicos\n\n- 🔄 **Automação Completa**: Execução via CLI e CI/CD\n- 📊 **Múltiplos Formatos de Relatório**: HTML, HTML Extra, CSV, JSON\n- 🌐 **Deploy Automático**: Publicação de relatórios no GitHub Pages\n- 🔍 **Variáveis de Ambiente**: Gestão de configurações por ambiente\n- 📝 **Documentação Viva**: Collections como documentação executável\n- 🔒 **Testes de Permissão**: Validação de rotas exclusivas para administradores\n\n---\n\n## 🛠️ Tecnologias e Ferramentas\n\n### Principais\n\n| Ferramenta | Versão | Propósito |\n|------------|-------------------|-----------|\n| [Node.js](https://nodejs.org/) | ≥14.0.0 | Ambiente de execução e gerenciamento de dependências para Newman. |\n| [Newman](https://www.npmjs.com/package/newman) | Latest | Executor de linha de comando para as coleções do Postman, incluindo a geração de relatorios. |\n| [Postman](https://www.postman.com/) | Latest | Criação e organização das coleções de requisições, variáveis de ambiente e scripts de teste (com JavaScript). |\n| [GitHub Actions](https://github.com/features/actions) | - | Pipelines de CI/CD |\n\n### Reports / Relatórios\n| Ferramenta | Versão | Propósito |\n|------------|-------------------|-----------|\n| [newman-reporter-htmlextra](https://www.npmjs.com/package/newman-reporter-htmlextra) | Latest | Geração de relatórios HTML detalhados e amigáveis. |\n| [newman-reporter-html](https://www.npmjs.com/package/newman-reporter-html) | Latest | Geração de relatórios HTML padrão. |\n| [newman-reporter-csv](https://www.npmjs.com/package/newman-reporter-csv) | Latest | Geração de relatórios em formato CSV |\n\n### Collections do Postman\n\nAcesse o workspace público com todas as coleções: [**Postman Workspace**](https://web.postman.co/workspace/bd80135c-7abe-4289-a106-935b4fb06bb9)\n\n---\n\n## 📁 Estrutura do Projeto\n\nO projeto está organizado para facilitar a navegação e execução:\n\n```\ntestes-api-postman-newman/\n│\n├── .github/\n│   └── workflows/\n│       └── main.yml                              # Configuração do pipeline CI/CD (GitHub Actions).\n│   └── templates/\n│       └── index.html                              # Template da página index para GitHub Pages\n│\n├── collections/                                  # Coleções do Postman - Arquivos de collection*.json \n│   ├── serve_rest_adm.postman_collection.json    # Coleção de testes - Perfil Admin\n│   └── serve_rest_user.postman_collection.json   # Coleção de testes - Perfil Usuário\n│\n├── environment/                                  # Arquivos .json com variáveis de ambiente (URLs)\n│   └── serve_rest.postman_environment.json       # Configurações de ambiente\n│\n├── docs/                                        # Cobertura de Testes - Relatórios completos\n│   └── test-coverage.md                         # Cobertura Detalhada de Testes\n│   └── test-coverage-summary.md                 # Resumo Executivo da Cobertura\n│\n└── README.md                                     # Este arquivo\n```\n---\n\n## 📊 Cobertura de Testes\n\n### 🎯 Resumo\n\n| 📈 Métrica | 📊 Valor | ✅ Status |\n|-----------|---------|----------|\n| **Requisições Executadas** | 38 | ✅ 100% |\n| **Testes Validados** | 196 | ✅ 100% |\n| **Assertions** | 240 | ✅ 100% |\n| **Endpoints Cobertos** | 16/16 | ✅ 100% |\n| **Tempo de Execução** | 3.5s | ⚡ Excelente |\n\n\n### 🗂️ Cobertura por Módulo\n\n| Módulo | Endpoints | Testes | Status |\n|--------|-----------|--------|--------|\n| 🔐 **Autenticação** | 1/1 | 12 | ✅ 100% |\n| 👤 **Usuários** | 5/5 | 56 | ✅ 100% |\n| 📦 **Produtos** | 5/5 | 74 | ✅ 100% |\n| 🛒 **Carrinhos** | 5/5 | 96 | ✅ 100% |\n\n\n### ⚡ Performance\n\n| Collection | Requisições | Tempo Total | Tempo Médio |\n|------------|-------------|-------------|-------------|\n| **Admin** | 20 | 1.856s | 56ms |\n| **User** | 18 | 1.617s | 50ms |\n| **Total** | **38** | **3.473s** | **53ms** |\n\n**95% das requisições** abaixo de 100ms ⚡\n\n### 👤 Coleção API ServeRest User\n📈 **Total: 18 requisições | 92 testes executados | 113 assertions**\n\n### 👩‍💻 Coleção API ServeRest ADM\n📈 **Total: 20 requisições | 104 testes executados | 127 assertions**\n\n### 🚦 Tipos de Validações\n\n- ✅ **Status codes**: 200, 201, 400, 401, 403, 404, etc.\n- ✅ **Headers**: Authorization, Content-Type, Accept, etc.\n- ✅ **Estrutura do corpo de resposta**: Validação de campos obrigatórios\n- ✅ **Validação de JSON Schema**: Conformidade com contratos definidos\n- ✅ **Validação de lógica de negócios**: Regras específicas da aplicação\n- ✅ **Dados retornados**: Precisão dos valores nas respostas\n- ✅ **Mensagens de sucesso**: Feedback correto em operações bem-sucedidas\n- ✅ **Mensagens de erro**: Validação de mensagens em cenários de falha\n- ✅ **Tempo de resposta**: Performance dos endpoints\n\n\n### 🚩 Destaques da Cobertura\n\n**Métricas Consolidadas:**\n- 📊 **38 requisições totais** (20 Admin + 18 User)\n- ✅ **196 testes executados** (104 Admin + 92 User)\n- ✅ **240 assertions totais** (127 Admin + 113 User)\n- 🎯 **100% de taxa de sucesso** em ambas as collections\n\n**Diferenças entre Perfis:**\n- ✅ **Admin**: Autorizado para POST, PUT, DELETE em `/produtos` (Status 200/201)\n- ❌ **User**: Bloqueado para POST, PUT, DELETE em `/produtos` (Status 403 - \"Rota exclusiva para administradores\")\n- 🔒 **6 cenários de autorização** validados com sucesso\n\n\u003e 📖 Para documentação completa, consulte: [Cobertura de testes detalhada](docs/test-coverage.md) ou [Cobertura de testes resumo executivo](docs/test-coverage.md)\n\n---\n\n## 🗺️ Roadmap\n\n### ✅ Concluído\n\n- [x] Cobertura completa de endpoints nas Collections do Postman\n- [x] Múltiplos formatos de relatório com o Newman\n- [x] Pipeline CI/CD com GitHub Actions\n- [x] Deploy automático no GitHub Pages\n\n### 🚧 Em Desenvolvimento\n\n- [ ] Desenvolvimento de testes automatizados de API com o Robot Framework\n- [ ] Cobertura completa dos testes cenários positivos, negativos e alternativos com o Robot Framework\n- [ ] Testes de contrato com validação de JSON Schema no Robot Framework\n\n### 📅 Planejado\n\n- [ ] Testes de carga e stress com K6\n- [ ] Integração com ferramentas de monitoramento\n- [ ] Dashboard de métricas em tempo real\n- [ ] Testes de segurança com OWASP ZAP\n- [ ] Testes de contrato com Pact ou Python\n\n--- \n\n## ☁️ Pipeline CI/CD\n\nO arquivo `.github/workflows/main.yml` contém toda a configuração do pipeline. O pipeline é executado automaticamente em cada `push` ou `pull request` para a branch `main`. \n\n### 🔄 Etapas do Pipeline\n1. **Setup**: Configuração do ambiente Node.js\n2. **Install**: Instalação do Newman e reports necessários\n3. **Test**: Execução sequencial das coleções de teste\n   - Coleção ADM (perfil administrador)\n   - Coleção User (perfil usuário padrão)\n4. **Report**: Geração de múltiplos formatos de relatório (HTML-EXTRA, HTML, CSV, JSON)\n5. **Upload**: Armazenamento como artefatos do GitHub Actions (sempre executado)\n6. **Deploy**: Publicação automática no GitHub Pages (apenas quando testes passam)\n   \n### Fluxo de Execução dos Testes\n```mermaid\ngraph LR\n    A[Postman Collections] --\u003e B[Newman CLI]\n    B --\u003e C[Execução dos Testes]\n    C --\u003e D[Geração de Relatórios]\n    D --\u003e E[HTML Extra]\n    D --\u003e F[HTML Padrão]\n    D --\u003e G[CSV]\n    D --\u003e H[JSON]\n    E --\u003e I[GitHub Pages]\n    F --\u003e I\n    G --\u003e I\n    H --\u003e I\n```\n\n### Fluxo de Execução do Pipeline de CI/CD\n```mermaid\ngraph LR\n    A[Push/PR on branch Main] --\u003e B[Pipeline - GitHub Actions]\n    B --\u003e C[Install Node.js]\n    C --\u003e D[Install Newman]\n    D --\u003e E[Run Tests ADM]\n    E --\u003e F[Run Tests User]\n    F --\u003e G[Generate Reports]\n    G --\u003e H{Tests Passed?}\n    H --\u003e|Yes| I[Deploy to GitHub Pages]\n    H --\u003e|No| J[Upload Artifacts]\n```\n\n---\n\n## 📦 Pré-requisitos\n\n### Requisitos de Sistema\n\n- **Sistema Operacional**: Windows, macOS ou Linux\n- **Node.js**: v14.0.0 ou superior ([Download Node.js](https://nodejs.org/))\n- **npm**: v6.0.0 ou superior (incluído com Node.js)\n- **Git**: Para clonar o repositório ([Download Git](https://git-scm.com/))\n\n#### Verificar Instalações:\n```bash\n# Verificar Node.js\nnode --version\n\n# Verificar npm\nnpm --version\n\n# Verificar Git\ngit --version\n```\n\n#### Saídas esperadas:\n```\nnode v14.x.x (ou superior)\nnpm v6.x.x (ou superior)\ngit version 2.x.x (ou superior)\n```\n\n---\n\n## 🔧 Instalação\n\n### 1️⃣ Clone o Repositório\n\n```bash\n# Clonar via HTTPS\ngit clone https://github.com/sthefanyricardo/testes-api-postman-newman.git\n\n# OU clonar via SSH\ngit clone git@github.com:sthefanyricardo/testes-api-postman-newman.git\n\n# Entrar no diretório\ncd testes-api-postman-newman\n```\n\n### 2️⃣ Instale o Node.js\n\nBaixe e instale a versão LTS mais recente do Node.js em [nodejs.org](https://nodejs.org/).\n\nVerifique a instalação:\n\n```bash\nnode --version\nnpm --version\n```\n\n### 3️⃣ Instale o Newman e Reports\n\n#### Opção A: Instalação Global\n\n```bash\n# Instalar Newman\nnpm install -g newman\n\n# Instalar Reports\nnpm install -g newman-reporter-htmlextra\nnpm install -g newman-reporter-html\nnpm install -g newman-reporter-csv\n```\n\n#### Opção B: Instalação Local\n\n```bash\n# Inicializar projeto\nnpm init -y\n\n# Instalar Newman e Reports\nnpm install newman newman-reporter-htmlextra newman-reporter-html newman-reporter-csv --save-dev\n```\n\n### 4️⃣ Verifique a Instalação\n\n```bash\nnewman --version\n```\n\n**Saída esperada**: `newman/6.x.x` ou superior\n\n---\n\n## ▶️ Como Executar\n\n### 🖥️ Execução Local\n\n#### Executar coleção individual\n\n**Coleção ADM (Administrador):**\n\n```bash\nnewman run collections/serve_rest_adm.postman_collection.json \\\n  -e environment/serve_rest.postman_environment.json \\\n  -r cli,htmlextra\n```\n\n**Coleção User (Usuário):**\n\n```bash\nnewman run collections/serve_rest_user.postman_collection.json \\\n  -e environment/serve_rest.postman_environment.json \\\n  -r cli,htmlextra\n```\n\n#### Executar com geração de múltiplos relatórios\n\n```bash\n# Criar diretório para relatórios\nmkdir -p newman_reports\n\n# Executar coleção ADM com todos os reports\nnewman run collections/serve_rest_adm.postman_collection.json \\\n  -e environment/serve_rest.postman_environment.json \\\n  -r cli,htmlextra,html,csv,json \\\n  --reporter-htmlextra-export newman_reports/report-adm-htmlextra.html \\\n  --reporter-html-export newman_reports/report-adm-html.html \\\n  --reporter-csv-export newman_reports/report-adm.csv \\\n  --reporter-json-export newman_reports/report-adm.json\n\n# Executar coleção User com todos os reports\nnewman run collections/serve_rest_user.postman_collection.json \\\n  -e environment/serve_rest.postman_environment.json \\\n  -r cli,htmlextra,html,csv,json \\\n  --reporter-htmlextra-export newman_reports/report-user-htmlextra.html \\\n  --reporter-html-export newman_reports/report-user-html.html \\\n  --reporter-csv-export newman_reports/report-user.csv \\\n  --reporter-json-export newman_reports/report-user.json\n```\n\n#### Executar com opções avançadas\n\n```bash\n# Com múltiplas iterações (executar 3 vezes)\nnewman run collections/serve_rest_adm.postman_collection.json \\\n  -e environment/serve_rest.postman_environment.json \\\n  -n 3 \\\n  -r cli,htmlextra\n\n# Com delay entre requisições (útil para rate limiting)\nnewman run collections/serve_rest_user.postman_collection.json \\\n  -e environment/serve_rest.postman_environment.json \\\n  --delay-request 1000 \\\n  -r cli,htmlextra\n\n# Com timeout customizado (10 segundos)\nnewman run collections/serve_rest_adm.postman_collection.json \\\n  -e environment/serve_rest.postman_environment.json \\\n  --timeout-request 10000 \\\n  -r cli,htmlextra\n\n# Modo verbose (debug detalhado)\nnewman run collections/serve_rest_adm.postman_collection.json \\\n  -e environment/serve_rest.postman_environment.json \\\n  --verbose\n```\n\n---\n\n### ☁️ Execução via GitHub Actions\n\n#### 🤖 Execução automática\n\nOs testes são executados automaticamente em cada:\n- **Push** para a branch `main`\n- **Pull Request** para a branch `main`\n\n#### 🔧 Execução manual\n\n1. Acesse a aba **Actions** no repositório do GitHub\n2. Selecione o workflow **\"Run the test collection of the Serve REST API with newman\"**\n3. Clique em **\"Run workflow\"**\n4. Selecione a branch desejada (padrão: `main`)\n5. Clique em **\"Run workflow\"** novamente para confirmar\n\n---\n\n## 📊 Relatórios\n\n### 📋 Tipos de Relatórios\n\n| Formato | Descrição | Uso Recomendado |\n|---------|-----------|-----------------|\n| **HTML Extra** | Relatório detalhado e interativo com gráficos | Análise visual completa e apresentações |\n| **HTML** | Relatório padrão em HTML | Documentação e arquivamento simples |\n| **CSV** | Dados tabulares exportáveis | Análise quantitativa em Excel/Sheets |\n| **JSON** | Dados estruturados em formato JSON | Integração com outras ferramentas |\n\n### 🔍 Visualizar Relatórios\n\n#### Relatórios Locais\n\nApós a execução local, abra os arquivos HTML no navegador:\n\n```bash\n# Linux/macOS\nopen newman_reports/report-adm-htmlextra.html\n\n# Windows\nstart newman_reports/report-adm-htmlextra.html\n```\n\n#### Relatórios do GitHub Actions\n\n1. Acesse a aba **Actions** no repositório\n2. Selecione a execução desejada\n3. Na seção **Artifacts**, faça o download de **Reports**\n4. Extraia o arquivo ZIP e abra os relatórios HTML\n5. **OU** verifique o step `deploy-github-pages` que contém a URL do GitHub Pages\n\n#### GitHub Pages\n\nSe os testes passarem, os relatórios são publicados automaticamente. Para acessar:\n\n**Opção 1**: Acesse diretamente a URL:\n```\nhttps://sthefanyricardo.github.io/testes-api-postman-newman/\n```\n\n**Opção 2**: Via GitHub\n1. Acesse a aba **Settings** do repositório\n2. Navegue até **Pages** na barra lateral\n3. Clique na URL listada em **Your site is live at...**\n\n**Opção 3**: Via Logs do Pipeline\n1. Acesse a aba **Actions**\n2. Selecione a execução desejada\n3. Veja a URL no step `deploy-github-pages`\n  \n---\n\n## 🤝 Contribuindo\n\nContribuições são muito bem-vindas! Para contribuir com este projeto:\n\n### Como Contribuir\n\n1. **Fork** o projeto\n2. **Crie** uma branch para sua feature:\n   ```bash\n   git checkout -b feature/MinhaNovaFeature\n   ```\n3. **Commit** suas mudanças:\n   ```bash\n   git commit -m 'Add: nova funcionalidade X'\n   ```\n4. **Push** para a branch:\n   ```bash\n   git push origin feature/MinhaNovaFeature\n   ```\n5. **Abra** um Pull Request\n\n### Diretrizes\n\n- ✅ Siga os padrões de código existentes\n- ✅ Adicione testes para novas funcionalidades\n- ✅ Atualize a documentação conforme necessário\n- ✅ Mantenha os commits pequenos e focados\n- ✅ Descreva claramente as mudanças no PR\n\n### Reportar Bugs\n\nEncontrou um bug? Abra uma [issue](https://github.com/sthefanyricardo/testes-api-postman-newman/issues) com:\n- Descrição clara do problema\n- Passos para reproduzir\n- Comportamento esperado vs obtido\n- Versões (Node.js, Newman, SO)\n  \n---\n\n## 🙏 Agradecimentos\n\nAgradecimentos especiais a:\n\n- **[Priscila Caimi](https://github.com/pricaimiTech)** - Instrutora do curso no Qualiters Club, pela excelente didática e conteúdo de qualidade\n- **[Paulo Gonçalves](https://github.com/PauloGoncalvesBH)** - Criador da ServeRest API, pela ferramenta educacional incrível e suporte à comunidade\n- **[ServeRest](https://github.com/ServeRest/ServeRest)** - Pela API open source e documentação excelente\n- **[Postman](https://www.postman.com/)** - Pela plataforma robusta e completa de testes de API\n- **[Newman Team](https://github.com/postmanlabs/newman)** - Pelo executor CLI poderoso e extensível\n\n---\n\n## 📞 Contato\n\n**Sthefany Albuquerque Ricardo**\n\n- GitHub: [@sthefanyricardo](https://github.com/sthefanyricardo)\n- Linkedin: [@sthefanyricardo](https://www.linkedin.com/in/sthefanyricardo/)\n\n---\n\n## 🔗 Links Úteis\n\n### 📚 Documentação\n\n- [Documentação do Postman](https://learning.postman.com/docs/getting-started/introduction/)\n- [Documentação do Newman](https://github.com/postmanlabs/newman)\n- [GitHub Actions Documentation](https://docs.github.com/en/actions)\n- [ServeRest API Docs](https://serverest.dev)\n- [Newman Reporters](https://www.npmjs.com/search?q=newman-reporter)\n\n### 🎓 Cursos\n\n- [Curso na Udemy](https://www.udemy.com/course/dominando-postman-2023-testando-e-automatizado-apis)\n- [Curso no Qualiters Club](https://priscilacaimi.com/estude-comigo/)\n\n### 👥 Comunidade\n\n- [Postman Community](https://community.postman.com/) - Fórum oficial do Postman\n- [ServeRest GitHub](https://github.com/ServeRest/ServeRest) - Repositório da API\n- [Postman Public Workspace](https://web.postman.co/workspace/bd80135c-7abe-4289-a106-935b4fb06bb9) - Workspace público com as coleções\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n### ⭐ Se este projeto foi útil para você, considere dar uma estrela!\n\n**Desenvolvido com ❤️ por [Sthefany Ricardo](https://github.com/sthefanyricardo)**\n\n[![Made with Postman](https://img.shields.io/badge/Made%20with-Postman-FF6C37?style=flat\u0026logo=postman\u0026logoColor=white)](https://www.postman.com/)\n[![Powered by Newman](https://img.shields.io/badge/Powered%20by-Newman-FF6C37?style=flat\u0026logo=postman\u0026logoColor=white)](https://github.com/postmanlabs/newman)\n[![Automated with GitHub Actions](https://img.shields.io/badge/Automated%20with-GitHub%20Actions-2088FF?style=flat\u0026logo=github-actions\u0026logoColor=white)](https://github.com/features/actions)\n\n**[⬆ Voltar ao topo](#-testes-de-api-com-postman-e-newman)**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsthefanyricardo%2Ftestes-api-postman-newman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsthefanyricardo%2Ftestes-api-postman-newman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsthefanyricardo%2Ftestes-api-postman-newman/lists"}