Robot Framework listener para integração em tempo real com QA Manager
Project description
qa-manager-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 qa-manager-integration
Para desenvolvimento local:
git clone <url-do-repo> qa-manager-integration
cd qa-manager-integration
pip install -e .
Quick Start
1. Configurar
qa-manager-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 qa_manager_integration.listener.QAManagerListener tests/
Os resultados são enviados automaticamente para o QA Manager em tempo real.
3. Verificar configuração
qa-manager-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):
- Variáveis de ambiente (
QA_MANAGER_*) .qamanager.jsonno diretório do projeto (local)~/.qamanager.jsonno 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 qa_manager_integration.listener.QAManagerListener tests/
# Especificando sprint via argumento:
robot --listener qa_manager_integration.listener.QAManagerListener:SPRINT_ID tests/
# Modo legado (project + sprint como argumentos):
robot --listener qa_manager_integration.listener.QAManagerListener:PROJECT_CODE:SPRINT_ID tests/
Comandos CLI
| Comando | Descrição |
|---|---|
qa-manager-integration setup |
Configuração interativa — gera .qamanager.json |
qa-manager-integration check |
Valida configuração e testa conectividade |
Uso programático
from qa_manager_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
Release history Release notifications | RSS feed
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 qa_manager_integration-1.0.1.tar.gz.
File metadata
- Download URL: qa_manager_integration-1.0.1.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50e94b1200c2ab4f2ca71c63578655b56f68d0ae4bdde5b68b73bebaf87ac89f
|
|
| MD5 |
36fa8a5eeb06f077fb47cb45b515e84d
|
|
| BLAKE2b-256 |
97e23ddbf394d4c19d9c4d00a246a62b7aec1d4796e31c9671dff96bda0abf53
|
File details
Details for the file qa_manager_integration-1.0.1-py3-none-any.whl.
File metadata
- Download URL: qa_manager_integration-1.0.1-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ea119ea38eb3c9b64bd9174e9711aae1638c6eb9369969901412c4a4be9bc93
|
|
| MD5 |
968dbf4fe7fbf281270833e4cc57cff0
|
|
| BLAKE2b-256 |
2a3df1f626d8e37ed8dff608a6e86c07a9783f58b7ceab98f784a864cedb0d1d
|