Automatizando Serviços REST com RestSharp e C#

Ronilson Ribeiro
3 min readSep 8, 2018

--

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

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