Se no vídeo anterior a gente conversou sobre a diferença entre testes de contrato e validação de JSON Schema, agora chegou a hora de colocar a mão na massa. A ideia é bem simples: vamos ver como usar o Robot Framework junto com a JSON Library para validar respostas de API de acordo com um contrato definido em um schema.
Bora lá!
Preparando o terreno [00:45]
O projeto visto no vídeo já tinha uma base pronta criada em um vídeo anterior que falo sobre a JSON Library, mas agora adicionamos um detalhe importante: um arquivo separado em formato .json que guarda o JSON Schema. Esse arquivo funciona como um “contrato” que diz exatamente o que esperamos da API:
quais campos devem existir,
quais são opcionais,
que tipo de dado cada campo precisa ter,
e até padrões específicos.
As ferramentas certas [03:52]
A JSON Library oferece duas formas de validar:
Validate JSON By Schema – quando você coloca o schema direto dentro do
.resource.Validate JSON By Schema File – quando usa um arquivo externo de schema.
Aqui, seguimos pela segunda opção, justamente para manter a clareza e evitar poluição nos testes.
Montando os cenários [05:01]
Os testes ficaram divididos em duas partes:
Primeiro, fazemos a requisição (no exemplo, um
POST) e guardamos a resposta.Depois, aplicamos a validação com base no schema.
O segredo está em garantir que a resposta esteja em formato JSON, porque só assim a validação consegue bater campo por campo com as regras do schema.
Exemplos práticos [06:20]
Três cenários ajudam a entender como funciona:
Quando a resposta não tem o campo opcional: o teste passa normalmente.
Quando o campo opcional está presente: o teste também passa.
Quando falta um campo obrigatório (como o “nome”): o teste falha, porque o schema exige esse campo.
Esses casos mostram na prática como o JSON Schema traz segurança e clareza para o contrato da API.
Estrutura do schema [07:32]
Alguns pontos importantes que usamos no JSON Schema:
$schema: define a versão utilizada (normalmente Draft 04).
type: indica o tipo de dado (string, number, object, array).
properties: descreve cada campo e suas validações.
pattern: aplica regex para validar strings, como um preço no formato correto.
items: define as regras para elementos em arrays.
required: lista o que é obrigatório.
additionalProperties: controla se o retorno pode ter campos extras além do previsto.
Combinando esses elementos, conseguimos criar contratos realmente sólidos.
Fechando o aprendizado [16:49]
No fim das contas, validar um JSON Schema com Robot Framework é mais do que chamar uma keyword. É entender como o schema é montado e usar esse conhecimento para criar testes confiáveis.
Essa prática garante que a API esteja sempre dentro do esperado e evita aquelas surpresas desagradáveis de receber dados faltando ou em formato errado.
Com esse passo, nossa automação de testes de API ganha mais qualidade e se aproxima de um padrão profissional.









