Automatizando os testes da sua API, da teoria a prática com RestSharp e C# — Parte I

Breno Ferreira
Bee Lab Academy
Published in
3 min readApr 15, 2020

--

Hoje iniciarei uma série de artigos falando a respeito do RestSharp e para esse primeiro artigo vamos abordar um pouco de teoria para o entendimento do que é o RestSharp.

RestSharp é uma ferramenta para testes de API baseada em C# .NET que é muito popular na comunidade. Como vocês podem notar na imagem abaixo, no momento que publico esse artigo, a versão mais recentemente já possui 47.7k, sendo que podemos verificar aqui, que a quantidade de downloads ultrapassa os 38M.

O RestSharp é uma biblioteca cliente HTTP de código aberto, que funciona com todos os tipos de tecnologias .Net. Uma ferramenta que pode ser usada para criar aplicativos robustos, facilitando a interface com APIs públicas e o acesso rápido a dados sem a complexidade de lidar com solicitações HTTP mais complexas.

E quais os benefícios posso obter utilizando o RestSharp?

Se você usa frequentemente REST para consumir API HTTP do .NET enxergo que o RestSharp é uma das melhores bibliotecas para uso em ambientes .NET.

Hoje, é possível notar que o tratamento de solicitações assíncronas é um dos principais requisitos para programação em plataformas Windows. Quando falamos de RestSharp, essa ferramenta é capaz de suportar solicitações síncronas e assíncronas, tornando-a ótima essa linguagem de desenvolvimento. Essa poderosa biblioteca economiza tempo de programação e equipa os desenvolvedores com ferramentas úteis que ajudam na criação de aplicativos elegantes e fáceis de depurar.

Quais os recursos que obteremos utilizando o RestSharp?

A biblioteca RestSharp possui diversos recursos que podem tornar seu trabalho mais produtivo, a vejo como uma ferramenta que se sincroniza admiravelmente com a arquitetura RESTful e ajuda na criação de aplicativos .Net variados.

Alguns desses recursos incluem:

· Serialização e desserialização personalizadas via ISerializer e IDeserializer;

· Solicitações síncronas e assíncronas;

· Uploads de arquivos / formulários com várias partes;

· oAuth 1, oAuth 2, Basic, NTLM e autenticação baseada em parâmetros;

· Auxílio para recursos como GET, PUT, POST, DELETE entre outros;

Está bem, já entendi o que é o Restsharp. Mas como essa ferramenta funciona?

Boa, que bom que perguntou! O RestSharp funciona como base para uma classe proxy para uma API. Os recursos que vejo como mais básicos do RestSharp incluem a criação de uma solicitação, adição de parâmetros à solicitação, execução e tratamento dos dados da solicitação, desserialização e autenticação.

Vamos falar um pouquinho mais sobre os recursos mencionados acima. Sei que é chato muita leitura, mas quando abordarmos a parte prática ficará mais claro para você, então vem comigo.

Tratamento de requisições

· O uso de RestRequest cria uma nova solicitação para um URL especificada.

· AddParameter adicionará um novo parâmetro à solicitação.

· Os cabeçalhos HTTP podem ser facilmente adicionados à solicitação que você gerou, usando request.AddHeader.

· Para executar a solicitação, usamos o comando client.Execute (request). O objeto de resposta também pode ser usado para analisar seus dados.

Desserialização

O RestSharp possui de-serializers, onde o desserializador normalmente é escolhido pelo RestSharp, com base no tipo de conteúdo retornado pelo servidor.

O RestSharp suporta os seguintes tipos de conteúdo:

· application / json — JsonDeserializer

· application / xml — XmlDeserializer

· text / json — JsonDeserializer

· text / xml — XmlDeserializer

· * — XmlDeserializer

Autenticadores

O RestSharp também fornece suporte de autenticação para diferentes sistemas, como HTTP entre outros programas baseados em parâmetros. Com o RestSharp também é possível criar seu próprio autenticador, mas não é nosso foco no momento.

Ele suporta os seguintes autenticadores:

· HttpBasicAuthenticator

· IAuthenticator

· NtlmAuthenticator

· OAuth1Authenticator

· OAuth2Authenticator

· SimpleAuthenticator

Galera, esse foi um artigo totalmente teórico sobre o que é o RestSharp e alguns de seus recursos, pois é fundamental entender o que é o RestSharp e o que é possível fazer com essa ferramenta.

Nos próximos artigos vamos para a prática, configuraremos a ferramenta e criaremos nossos primeiros testes de API com RestSharp.

That’s all folks.

--

--