Skip to main content

Robot Framework listener para integração em tempo real com QA Manager

Project description

cm-qa-integration

Integração em tempo real entre o Robot Framework e a plataforma QA Manager via API REST.

Um listener Robot Framework v3 captura cada resultado de teste no momento em que ocorre e o envia automaticamente para o QA Manager — sem necessidade de alterar os arquivos .robot existentes.


Como funciona

Robot Framework
  └─ start_suite  ──► POST /integration/test-runs                  (cria o Test Run, recebe integration_token)
  └─ end_test     ──► POST /integration/test-runs/{id}/results     (envia resultado de cada teste)
  └─ end_suite    ──► POST /integration/test-runs/{id}/complete    (marca a execução como concluída)

Dois tokens são usados:

  • API Token (qm_...) — gerado no perfil do usuário no QA Manager, usado para criar o Test Run
  • Integration Token (retornado pela API) — usado para todos os envios de resultados subsequentes

Instalação

pip install cm-qa-integration

Para desenvolvimento local:

git clone <url-do-repo> cm-qa-integration
cd cm-qa-integration
pip install -e .

Quick Start

1. Configurar

cm-qa-integration setup

O comando interativo solicita:

  • URL da API do QA Manager
  • API Token (gerado em Meu Perfil → API Tokens)
  • Código do projeto

E salva em .qamanager.json.

2. Executar testes

robot --listener cm_qa_integration.listener tests/

Os resultados são enviados automaticamente para o QA Manager em tempo real.

3. Verificar configuração

cm-qa-integration check

Configuração (.qamanager.json)

{
  "api_url": "http://localhost:3001/api",
  "token": "qm_abc123...",
  "project_code": "ROQ",
  "default_type": "AUTOMATED"
}

Hierarquia de prioridade

A configuração é carregada de múltiplas fontes (a mais alta vence):

  1. Variáveis de ambiente (QA_MANAGER_*)
  2. .qamanager.json no diretório do projeto (local)
  3. ~/.qamanager.json no home (global)

Variáveis de ambiente

Variável Descrição
QA_MANAGER_TOKEN API Token (alternativa ao .qamanager.json)
QA_MANAGER_URL URL base da API (padrão: http://localhost:3001/api)
QA_MANAGER_PROJECT_CODE Código de integração do projeto

Uso do Listener

# Com .qamanager.json configurado (recomendado):
robot --listener cm_qa_integration.listener tests/

# Especificando sprint via argumento:
robot --listener cm_qa_integration.listener:SPRINT_ID tests/

# Modo legado (project + sprint como argumentos):
robot --listener cm_qa_integration.listener:PROJECT_CODE:SPRINT_ID tests/

Comandos CLI

Comando Descrição
cm-qa-integration setup Configuração interativa — gera .qamanager.json
cm-qa-integration check Valida configuração e testa conectividade

Uso programático

from cm_qa_integration import QAManagerListener, QAManagerClient, load_config

config = load_config()
client = QAManagerClient(config["api_url"], config["token"])
ok, msg = client.check_connection()

Pré-requisitos

  • Python 3.10+
  • Robot Framework 7.x
  • Acesso à API do QA Manager

Licença

MIT

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

cm_qa_integration-1.0.0.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cm_qa_integration-1.0.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file cm_qa_integration-1.0.0.tar.gz.

File metadata

  • Download URL: cm_qa_integration-1.0.0.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for cm_qa_integration-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1b68b7d1bca9c570b555f12b12b20324c2a81cf8dc7119b06ef53137a99d3ac7
MD5 62c2cfbe28b4e575a374e3e9f762ec60
BLAKE2b-256 9ce214a295a5e14c76b2ce4a3bfad95fe53daa9c61798f10ec3bddd170857dfe

See more details on using hashes here.

File details

Details for the file cm_qa_integration-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cm_qa_integration-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e84604a875b042873f3919572ee073c981f2d86340623345193f59671925871
MD5 50dd67a910874ce5209c2b62e9e2d759
BLAKE2b-256 3fbff99d27e8f872502672e7e234023404a0d655e1e2940aabe8ea4508d99afb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page