Testar e validar serviços REST em Java é mais difícil do que em linguagens dinâmicas como Ruby e Groovy. REST Assured traz a simplicidade do uso dessas linguagens para o domínio Java.
Notícias mais antigas
Aqui está um exemplo de como fazer uma solicitação GET e validar a resposta JSON ou XML:
get ( "/lotto" ). then (). assertThat (). body ( "lotto.lottoId" , equalTo ( 5 ));
Obtenha e verifique todos os IDs dos vencedores:
get ( "/lotto" ). then (). assertThat (). body ( "lotto.winners.winnerId" , hasItems ( 23 , 54 ));
Usando parâmetros:
given ().
param ( "key1" , "value1" ).
param ( "key2" , "value2" ).
when ().
post ( "/somewhere" ).
then ().
body ( containsString ( "OK" ));
Usando X-Path (somente XML):
given ().
params ( "firstName" , "John" , "lastName" , "Doe" ).
when ().
post ( "/greetMe" ).
then ().
body ( hasXPath ( "/greeting/firstName[text()='John']" )).
Precisa de autenticação? REST Assured fornece vários mecanismos de autenticação:
given (). auth (). basic ( username , password ). when (). get ( "/secured" ). then (). statusCode ( 200 );
Obtendo e analisando um corpo de resposta:
// Example with JsonPath
String json = get ( "/lotto" ). asString ();
List < String > winnerIds = from ( json ). get ( "lotto.winners.winnerId" );
// Example with XmlPath
String xml = post ( "/shopping" ). andReturn (). body (). asString ();
Node category = from ( xml ). get ( "shopping.category[0]" );
REST Assured suporta qualquer método HTTP, mas tem suporte explícito para POST , GET , PUT , DELETE , OPTIONS , PATCH e HEAD e inclui especificação e validação, por exemplo, de parâmetros, cabeçalhos, cookies e corpo facilmente.
Junte-se à lista de discussão em nosso grupo do Google.