Vídeos > Tutorial Rest-Assured com JUnit e Maven

14/mai

Tutorial de apresentação do framework Rest-Assured para automação de testes em API Rest, utilizaremos Maven e Unit para estruturação do projeto e testes. Este tutorial foi apresentado no evento #Testadores2015 em São Paulo.

Tutorial

1) Baixar o Maven

https://maven.apache.org/download.cgi

2) Extrair o Maven no diretório "C:\Program Files (x86)\Java"

3) Adicionar o diretório "bin" do Maven à variável de ambiente PATH

4) Criar um novo projeto Maven

5) Adicionar dependências ao POM.xml

<dependencies>
  <dependency>
      <groupId>com.jayway.restassured</groupId>
      <artifactId>rest-assured</artifactId>
      <version>2.4.1</version>
      <scope>test</scope>
  </dependency>
  <dependency>
      <groupId>com.jayway.restassured</groupId>
      <artifactId>json-path</artifactId>
      <version>2.4.1</version>
  </dependency>
  <dependency>
      <groupId>com.jayway.restassured</groupId>
      <artifactId>json-schema-validator</artifactId>
      <version>2.4.1</version>
      <scope>test</scope>
  </dependency>
  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
  </dependency>		
</dependencies>

6) Criar um novo package "br.com.qualister.Testes" no diretório "src/test/java"

7) Criar um novo JUnit Test chamado "QualisterAPITest"

8) Adicionar importações

import static com.jayway.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;
import static com.jayway.restassured.module.jsv.JsonSchemaValidator.*;

9) Validar que:

  • "status" é "success"
  • "mensagem" contém a string "Julio"
  • "dados.atuacao" possui o item "Consultoria"
  • "dados.consultores.quantidade é 5
  • StatusCode é 200

10) Salvar o arquivo abaixo como "json-schema.json" dentro do classpath "src/test/resources":

{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"title": "Dados da Qualister",
	"type": "object",
	"properties": {
		"status": {
			"type": "string"
		}, 
		"mensagem": {
			"type": "string"
		},
		"dados": {
			"type": "object",
			"properties": { 
				"atuacao": {
					"type": "array"
				},
				"consultores": {
					"type": "object",
					"properties": {
						"quantidade": {
							"type": "integer",
							"minimum": 0
						},
						"nomes": {
							"type": "array",
							"uniqueItems": true
						}
					}
				}
			}
		}
	},
	"required": ["status", "mensagem"]
}

11) Validar que a resposta atende ao schema:

.then()
   .assertThat()
      .body(matchesJsonSchemaInClasspath("json-schema.json" ));

12) Executar o comando de execução dos testes via prompt de comando no diretório raiz do projeto:

mvn test

POSTS RELACIONADOS

Workshop Gratuito de Rest-Assured (Online)

Automatize os testes de suas APIs Rest com este fantástico framework open-source

CURSOS RELACIONADOS

AGENDA