Variáveis
Variáveis são valores reutilizáveis em cenários de teste. Elas permitem centralizar configurações como URLs, credenciais de teste, flags e dados compartilhados.
No QANode existem dois escopos principais:
- Globais — disponíveis para qualquer cenário.
- De projeto — disponíveis para cenários vinculados a um projeto específico.
Gerenciando Variáveis
- No menu lateral, clique em Variáveis
- A lista exibe as variáveis globais cadastradas
Imagem: Tela de variáveis mostrando lista com nome, tipo, valor e última atualização
Variáveis Globais e de Projeto
Variáveis Globais
Variáveis globais devem ser usadas para valores compartilhados por vários projetos, como:
- URL base comum;
- flags de execução;
- dados de teste reutilizáveis;
- configurações gerais.
Elas são criadas no menu lateral Variáveis.
Variáveis de Projeto
Variáveis de projeto ficam dentro da aba Variáveis da página do projeto. Use esse escopo quando o valor pertence a um projeto específico, como:
- URL de homologação daquele sistema;
- usuário de teste daquele projeto;
- identificadores ou dados de massa próprios daquela equipe;
- configurações que não devem aparecer na lista global.
Quando um cenário pertence a um projeto, as variáveis do projeto ficam disponíveis com a mesma sintaxe das variáveis globais:
{{ variables.NOME_DA_VARIAVEL }}
Se uma variável global e uma variável de projeto tiverem o mesmo nome, evite depender dessa sobreposição. Prefira nomes claros para cada escopo.
Criando uma Variável
- Para variável global, acesse Variáveis no menu lateral. Para variável de projeto, abra o projeto e acesse a aba Variáveis
- Clique em + Nova Variável
- Preencha:
| Campo | Obrigatório | Descrição |
|---|---|---|
| Nome | Sim | Identificador da variável (sem espaços) |
| Tipo | Sim | Tipo do valor |
| Valor | Sim | Valor da variável |
| Secreta | Não | Se ativado, o valor será criptografado |
- Clique em Salvar
Tipos de Variáveis
| Tipo | Descrição | Exemplo |
|---|---|---|
| String | Texto | https://api.exemplo.com |
| Number | Número | 30000 |
| Boolean | Verdadeiro/Falso | true |
| JSON | Objeto ou array | { "timeout": 5000, "retries": 3 } |
Variáveis Secretas
Variáveis marcadas como secretas são criptografadas no banco de dados. São ideais para:
- Senhas de teste
- Tokens de API
- Chaves de acesso
Características:
- O valor é mascarado na interface (exibido como
••••••) - O valor é criptografado no banco de dados
- O valor real é acessível durante a execução dos fluxos
Nota: Para credenciais de conexão (banco de dados, SSH, API), prefira usar Credenciais em vez de variáveis secretas.
Usando Variáveis nos Fluxos
Acesse variáveis usando a sintaxe de expressões:
{{ variables.NOME_DA_VARIAVEL }}
No editor de fluxo, o botão Variáveis do painel de propriedades abre uma lista organizada para arrastar ou clicar em valores.
As variáveis aparecem separadas por escopo:
| Grupo | Estado inicial | Descrição |
|---|---|---|
| Fluxo | Aberto | Variáveis locais e outputs de nós anteriores do fluxo atual |
| Projeto | Fechado | Variáveis cadastradas no projeto do cenário |
| Global | Fechado | Variáveis globais da instalação |
Essa separação evita misturar dados globais, de projeto e do fluxo quando há muitas variáveis cadastradas.
Outputs de nós anteriores
Cada nó executado aparece como um grupo com:
- nome do nó;
- tipo do nó;
- status da execução;
- quantidade de campos disponíveis.
Objetos e arrays começam fechados para manter a lista legível. Ao expandir um campo, os filhos aparecem abaixo com nome visual curto. Por exemplo, dentro de fileRef, os filhos aparecem como name, mimeType e sizeBytes, mas a expressão copiada continua completa.
Arquivos no painel de variáveis
Quando um output é arquivo (fileRef), o painel mostra o arquivo como um item arrastável. Ao expandir, os detalhes principais ficam disponíveis:
| Campo | Uso |
|---|---|
name | Nome do arquivo |
mimeType | Tipo MIME |
sizeBytes | Tamanho em bytes |
Campos internos como source e path não aparecem na lista principal para não confundir o uso comum, mas continuam acessíveis por expressão quando necessário.
Se um campo de entrada não aceita arquivo, ou não aceita aquele tipo de arquivo, o painel marca o campo em vermelho e mostra uma mensagem de arquivo não suportado.
Exemplos de Uso
URL de API:
URL: {{ variables.API_URL }}/api/users
Timeout:
Timeout: {{ variables.DEFAULT_TIMEOUT }}
Credenciais de teste:
Email: {{ variables.TEST_EMAIL }}
Senha: {{ variables.TEST_PASSWORD }}
Configuração JSON:
Retries: {{ variables.CONFIG.retries }}
Timeout: {{ variables.CONFIG.timeout }}
Sobrescrita em Tempo de Execução
O nó Set Variable pode sobrescrever variáveis durante a execução:
[Set Variable: API_URL = https://staging.exemplo.com]
│
▼
[HTTP Request: GET {{ variables.API_URL }}/api/health]
A sobrescrita é temporária — afeta apenas a execução atual. O valor original no banco de dados não é alterado.
Override por Pipeline — Enterprise
Na integração de CI/CD do QANode Enterprise, uma variável também pode ser sobrescrita diretamente pela CLI ou pela API para uma execução específica.
Exemplo:
npx @qanode/cli run suite \
--suite-id SUITE_ID \
--var BASE_URL=https://preview.app \
--wait
Esse override:
- vale apenas para a execução atual
- não altera o valor persistido da variável
- é útil para ambientes temporários de build, homologação e preview
Para detalhes, veja Overrides por Execução.
Boas Práticas
Nomenclatura
Use UPPER_SNAKE_CASE para variáveis globais e de projeto:
| Bom | Ruim |
|---|---|
API_URL | apiUrl |
TEST_EMAIL | email |
DEFAULT_TIMEOUT | timeout |
MAX_RETRIES | retries |
Organização por Ambiente
Crie variáveis com prefixo de ambiente para facilitar a troca:
PROD_API_URL = https://api.exemplo.com
STAGING_API_URL = https://staging.exemplo.com
DEV_API_URL = http://localhost:3000
Quando Usar Variáveis vs Credenciais
| Cenário | Use |
|---|---|
| URL base de API | Variável |
| Token de autenticação | Credencial HTTP |
| Dados de conexão ao banco | Credencial de banco |
| Senha de teste genérica | Variável secreta |
| Flag de configuração | Variável |
| Dados de conexão SSH | Credencial SSH |
Dicas
- Centralize URLs em variáveis para facilitar troca de ambiente
- Use variáveis secretas para dados sensíveis
- Prefira credenciais para dados de conexão estruturados
- Use variáveis globais para valores compartilhados por toda a instância
- Use variáveis de projeto para dados específicos de um projeto
- O tipo JSON é útil para agrupar configurações relacionadas
