QANode Logo

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

  1. No menu lateral, clique em Variáveis
  2. 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

  1. Para variável global, acesse Variáveis no menu lateral. Para variável de projeto, abra o projeto e acesse a aba Variáveis
  2. Clique em + Nova Variável
  3. Preencha:
CampoObrigatórioDescrição
NomeSimIdentificador da variável (sem espaços)
TipoSimTipo do valor
ValorSimValor da variável
SecretaNãoSe ativado, o valor será criptografado
  1. Clique em Salvar

Tipos de Variáveis

TipoDescriçãoExemplo
StringTextohttps://api.exemplo.com
NumberNúmero30000
BooleanVerdadeiro/Falsotrue
JSONObjeto 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:

GrupoEstado inicialDescrição
FluxoAbertoVariáveis locais e outputs de nós anteriores do fluxo atual
ProjetoFechadoVariáveis cadastradas no projeto do cenário
GlobalFechadoVariá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:

CampoUso
nameNome do arquivo
mimeTypeTipo MIME
sizeBytesTamanho 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:

BomRuim
API_URLapiUrl
TEST_EMAILemail
DEFAULT_TIMEOUTtimeout
MAX_RETRIESretries

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árioUse
URL base de APIVariável
Token de autenticaçãoCredencial HTTP
Dados de conexão ao bancoCredencial de banco
Senha de teste genéricaVariável secreta
Flag de configuraçãoVariável
Dados de conexão SSHCredencial 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