Automatizando Serviços REST com RestSharp e C#

Ronilson Ribeiro
Sep 8, 2018 · 3 min read

Minha zona de conforto sempre foi utilizar Selenium e Ruby para qualquer coisa, precisa de testes de front-end? Capybara! Precisa de testes Mobile? Calabash! Precisa de testes Back-end? HTTParty!

Minha zona de conforto deu uma sacudida em Abril/2018 quando eu aceitei um novo desafio e o projeto deveria ser automatizado em RestSharp. Para a minha surpresa o RestSharp se mostrou tão simples quanto o HTTParty e hoje vou te ensinar como dar os primeiros passos. Lembrando que para facilitar o exemplo não utilizaremos o conceito de Page Objects, então todo o nosso código estará na mesma classe, mas futuramente eu escreverei uma abordagem mais próxima do que utilizamos nos projetos.

Mãos a obra! Vamos criar um projeto que faça a chamada para uma API que retorna endereços assim como a API dos Correios. Antes de fazer qualquer automação devemos fazer um teste manual para entender como funciona o que iremos testar, então vamos fazer um teste com a API da Viacep que consiste em informar na URL um CEP e a API nos retorna dados de endereço.

Teste manual feito, API funcionando, o próximo passo é abrir seu Visual Studio. Após aberto precisaremos criar o nosso projeto:

Criaremos um Console Application chamado “Correios” utilizando o .Net Core, faça o download dos pacotes do .Net Core caso você ainda não o tenha na máquina.

Agora vamos adicionar as nossas dependências no Nuget. botão direito na nossa solução e clicar em “Gerenciar pacotes do NuGet …”.

Vamos instalar as últimas versões dos pacotes de “FluentAssertions”, “Microsoft.NET.Sdk”, “Microsoft.NETCore.App”, “RestSharp”, “xunit”, “xunit.runner.console” e “xunit.runner.visualstudio”. Sua lista de pacotes instalados deve ficar assim:

Projeto criado, pacotes instalados o nosso projeto deve estar assim:

Em nossa classe program vamos incluir a chamada para as bibliotecas “RestSharp”, “Xunit” e “FluentAssertions”. Vamos apagar o método main e criaremos nosso método “GetCep” que recebe o parâmetro “CEP”.

Dentro do método GetCEP criaremos duas variáveis:

  1. client = Do tipo RestClient que receberá nossa URL de chamada
  2. RSrequest = Do tipo RestRequest que informará qual o tipo da chamada(GET, POST, PUT ou DELETE) e o formato da chamada.

Por fim retornaremos a chamada de nossas variáveis.

Agora vamos criar nosso caso de teste. Para criar um caso de teste no Xunit precisamos informar a tag [Fact] acima do caso de teste. Vamos criar um caso de teste que valide se o status code retornado está correto:

Pronto, agora é só clicar com o botão direito em nosso caso de teste, mandar “Executar Testes” e ver o resultado verdinho.

Espero que este primeiro artigo ajude nos seus primeiros passos com RestSharp, nos próximos artigos entrarei um pouco mais fundo nos testes e validações. Abraços!

Ronilson Ribeiro

Written by

QA Senior no banco Santander e um apaixonado por qualidade de Software

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade