Automatizando os testes da sua API, da teoria a prática com RestSharp e C# — Parte I
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.