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.QAManagerListener 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.QAManagerListener tests/

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

# Modo legado (project + sprint como argumentos):
robot --listener cm_qa_integration.listener.QAManagerListener: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.1.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.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cm_qa_integration-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 f18335396e74f91634155bddf7e265288480fddd6de4c6a5d262bd7f72f4e938
MD5 cff2da1c9cfd5f639cc719fafb44f0c9
BLAKE2b-256 3237ce23c838210ab833fd4e34eaac5d76d3d1bed8a32bea841443fe78ec37fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cm_qa_integration-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0ff893d3c3152a8b84f2d2fcee7c067017d8ece12ed372b9adfa9de1f6b7625a
MD5 300daa1c7c5dc4be49fe07f7ca6b5a81
BLAKE2b-256 5c94d214f570883be23667ce9504b88558e9acbe1f35b836752cde8bd3b924f4

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