how automate api requests using rest assured
Neste tutorial, aprenderemos a automatizar solicitações de API usando REST garantido durante a execução de scripts de teste no Jenkins:
No segundo tutorial da série de tutoriais da API REST, aprendemos diferentes tipos de códigos de resposta, solicitações REST, melhores práticas REST e testes de API usando POSTMAN.
RESTO Os serviços da web estão se tornando populares dia a dia devido à sua facilidade de desenvolvimento, implementação, acesso e execução. Além disso, são leves e não têm padrões rígidos a serem seguidos.
No entanto, quando há um número maior de serviços que existem e precisam ser executados a cada nova construção, isso se torna um pesadelo para o testador e para o custo do projeto. Novamente, alguns serviços são internos relacionados ao próprio projeto e alguns são construídos para serem consumidos por terceiros.
Então, surgiu a ideia de automação. Existem várias ferramentas disponíveis para automatizar os serviços REST, como-
- vRest
- HttpMaster
- Parasoft
- Tenha certeza
RestAssured é uma ferramenta de automação popular entre os testadores. Deixe-nos ver porque é uma opção preferida.
O que você aprenderá:
Por que RESTAssured?
- É de código aberto, portanto, qualquer organização pode usá-lo para suas necessidades de projeto.
- REST Assured é uma biblioteca Java, portanto, não vem como uma GUI como outras ferramentas. É uma estrutura para testar serviços REST em Java.
- Ele fornece uma linguagem específica de domínio (DSL) para criar um script de automação, usa qualquer linguagem nativa como Java e testa a API da Web RESTful.
- Ele suporta o formato XML e JSON para Solicitações, Respostas.
- Ele atua como um cliente sem cabeça.
- Podemos personalizar a solicitação que vamos enviar ao servidor usando esta biblioteca.
- Além disso, pode testar uma combinação variada de lógica de negócios complexa.
- Ele é capaz de buscar código de status, respostas, corpo de resposta e cabeçalhos do servidor para a solicitação enviada.
- Ele habilita o estilo BDD de escrever um script de teste, ou seja, no formato GIVEN-WHEN-THEN, para que qualquer membro da equipe de negócios, especialmente com experiência fora de TI, também possa visualizá-lo e compreender a lógica e a cobertura do teste.
Neste tutorial, iremos automatizar as solicitações que criamos manualmente no primeiro tutorial da API REST por meio do POSTMAN e também discutiremos uma ferramenta comercial chamada GITHUB.
Automatizando solicitações de API da Web usando REST garantido
Neste tutorial, faremos automação de ponta a ponta, ou seja, criaremos uma classe Java e executá-la-emos a partir do Jenkins.
Pré-requisitos:
- Os destinatários pretendidos devem ter um conhecimento prático de Eclipse IDE, Maven, TestNG, ReportNG.
- Os destinatários também devem estar cientes do Jenkins.
- A conexão com a Internet é necessária se estivermos acessando serviços implantados na web. Caso estejamos acessando serviços implantados localmente, nesse caso, certifique-se de que o testador tem o direito.
- Se estivermos automatizando algum site comercial seguro, nesse caso, certifique-se de que o token de autorização, tokens de API, chaves de API, etc. estejam funcionando corretamente e fornecidos ao testador, que atualmente está automatizando o script.
URL de teste
- http://jsonplaceholder.typicode.com está instalado e funcionando
- O usuário tem credencial válida em GitHub
Configurações Ambientais
# 1) Instale Eclipse IDE
Primeiro de tudo, precisamos baixar o IDE Eclipse do site oficial da Eclipse.
Em seguida, instale o IDE. Defina o caminho, a variável de ambiente JAVA_HOME corretamente. Mantenha o caminho JDK, JRE acessível para uso futuro. Depois que o Eclipse estiver instalado, crie / defina um espaço de trabalho e abra o espaço de trabalho.
No meu caso é:
principais perguntas da entrevista c ++

#dois) Crie um projeto Maven

Certifique-se de ter configurado a casa Maven nas variáveis ambientais.
# 3) Adicione todos os plug-ins relevantes e necessários relacionados a REST-ASSURED, TESTNG, REPORTNG a pom.xml.
Aqui está um exemplo de pom.xml.
4.0.0 com restapi 2.9.1-SNAPSHOT jar restapi http://maven.apache.org UTF-8 junit junit 3.8.1 test org.testng testng 6.11 com.jayway.restassured rest-assured 2.9.0 com.jayway.jsonpath json-path 2.2.0 com.jayway.restassured json-schema-validator 2.9.0 com.google.code.gson gson 2.6.2 test org.hamcrest hamcrest-junit 2.0.0.0 org.hamcrest hamcrest-all 1.3 commons-io commons-io 2.4 io.rest-assured rest-assured-common 3.0.1 org.uncommons reportng 1.1.4 test org.testng testng com.google.inject guice 3.0 org.apache.maven.plugins maven-surefire-plugin 2.14.1 ${env} listener org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter Tutorials.xml # 4) Adicione os jars necessários ao caminho de construção dos projetos Maven.
Normalmente, esses são arquivos de biblioteca que vêm em um jar com garantia de REST, TESTNG, REPORTNG. Mesmo que tenhamos adicionado a dependência, plugin sobre o arquivo pom.xml, mas ainda às vezes ocorre erro, portanto, precisamos adicionar esses jars / bibliotecas para construir o caminho do projeto maven de modo a evitar erros (se houver).


No entanto, quando estamos criando projetos Java em vez de projetos Maven, nesse caso, precisamos manter esses jars, bibliotecas à mão e usá-los como e quando necessário.
# 5) Instale JENKINS (no Windows)
Baixe o Jenkins em jenkins.io/download/.
Em seguida, abra o setup, siga os passos até que seja instalado corretamente.
Uma vez instalado, precisamos iniciar o JENKINS, podemos fazer o mesmo a partir de um prompt de comando.
C: Arquivos de programas Jenkins> java -jar jenkins.war –httpPort = 9090.

Assim que a mensagem acima for exibida, precisamos esperar mais algum tempo para ver a seguinte mensagem.

Como podemos ver a última mensagem na tela acima, onde Jenkins está totalmente instalado e funcionando, portanto, agora podemos iniciar o Jenkins usando a seguinte URL.
http: // localhost: 9090 /
Na primeira vez, pode levar algum tempo, mas depois será mais rápido. Depois disso, precisamos criar um usuário.


Depois que o usuário é criado, precisamos reiniciar o Jenkins e acessar a IU com a senha.
Assim que o Jenkin estiver instalado, podemos instalar os plug-ins em Gerenciar Jenkins> Configuração de ferramenta global (mesmo durante a instalação do Jenkin).

Criando Script de Automação
# 6) Podemos criar uma nova CLASSE JAVA e convertê-la em TESNG ou crie diretamente uma CLASSE TESTNG seguida pela criação de um novo arquivo XML (testng.xml).
Para simplificar, existem duas classes Java criadas
# 1) Tutorial1.java - Este arquivo contém o uso de todos os métodos, como GET, POST, PUT, PATCH, DELETE, LOGREQUEST, LOGRESPONSE, ASSERT usando um URL de teste fictício https: jsonplaceholder.typicode.com.
Mesmo que a URL se comporte como uma URL original, retornando tais respostas, mas na verdade no servidor, nenhuma modificação é feita. É apenas para demonstrar as propriedades e reação dos serviços da web quando eles recebem qualquer solicitação de um cliente.
# 2) Tutorial2.java - Este arquivo contém o exemplo em tempo real do GitHub onde leremos o comentário adicionado a uma essência.
Observação : GitHub requer autenticação, portanto, precisamos gerar token de API ou autorização básica, uma vez que estamos logados no GitHub - configurações ou então podemos gerar token de autorização do próprio POSTMAN
TESNG.XML
Aqui está o arquivo XML que irá executar ambos Tutorial1.java e Tutorial2.java
Para fins de demonstração, excluí todos os métodos a serem executados e habilitei apenas um método GET de Tutorial1.java para ser executado. No entanto, se quisermos ver todos os métodos executados, temos que substituir por sobre o arquivo XML TestNG. Em nosso caso, o nome do arquivo TestNG é testng1.xml.
Agora, se executarmos o acima arquivo testng1.xml sobre Eclipse então teremos o seguinte saída do console.
(TestNGContentHandler) (WARN) É altamente recomendável adicionar “” no início do arquivo, caso contrário, TestNG pode falhar ou não funcionar como esperado.
(TestNG) Em execução:
D: RestAssured restapi testng1.xml
*** OBTER MÉTODO ***
ID do usuário - (1) a - (3) Título - (se for problemático que o exercício seja doloroso ou) corporal - (e certo, mas a lei
E tudo de eleição ou para o prazer dos cegos são
ou denunciando qualquer tristeza e prazer resultante
e está disposto a ir e vir de uma tarefa odiosa ou desconforto; e o)
*** OBTER FIM DE MÉTODO ***
————————————————–
Tutoriais da API REST
Total de testes executados: 1, Falhas: 0, Saltos: 0
————————————————-
Aqui está o resultado do teste da suíte.

Aqui está o relatório padrão gerado pelo TestNG.

Aqui está o relatório gerado pelo ReportNG.

Como já configuramos o ReportNG, podemos esperar uma visão clara do total aprovado e reprovado como acima.
Executando Scripts de Teste Usando Prompt de Comando
- Precisamos iniciar o prompt de comando
- Defina o diretório de trabalho como o local do espaço de trabalho
- Encontre o bin / local de destino
- Encontrar / criar localização da biblioteca
- Primeiro, precisamos de um conjunto, o diretório onde o projeto existe. No meu caso é D: RestAssured restapi
- Java - palavra-chave
- cp - É o classpath, significa o caminho em que a classe Java existe no projeto
- Alvo - É o mesmo que a pasta bin quando estamos trabalhando em um projeto Java. Como estamos trabalhando no projeto Maven, teremos essa pasta. Sob esta pasta, podemos ter mais duas pastas: classes, classes de teste. A classe Java real deve existir entre essas duas pastas
- Lib - Esta pasta conterá todos os jars que usamos durante a execução do script de teste do Eclipse. Em alguns casos, a pasta pode não estar presente. Portanto, podemos precisar criar uma pasta e manter todos os jars, executáveis, etc. dentro dela.
- org.testng.TestNG testng1.xml - Isso é como uma sintaxe. A última parte é testng1.xml é o arquivo de recursos do TestNG, que será chamado para executar os scripts de teste desejados
O comando completo será
java -cp target / test-classes; target / Classes; lib / * org.testng.TestNG testng1.xml
Depois disso, pressione Enter

Observação: Podemos ver a pasta bin enquanto trabalhamos em um projeto Java. No entanto, se estivermos trabalhando em um projeto Maven, teremos uma pasta de destino e classes normais, a pasta test-classes estará presente nela.
Criação de arquivo BAT e execução de scripts de teste
Em vez de abrir o prompt de comando e executar o comando acima para executar o script de teste, podemos manter o comando em um arquivo de texto e, ao salvá-lo, dar a ele um nome como,
“Run.bat” (certifique-se de manter o “” em torno do run.bat)
É assim que fica depois de criado.

Agora clique duas vezes em “executar”
O prompt de comando será aberto e executará o script de teste e, assim que a execução for concluída, o prompt de comando será fechado.

o que o dobro faz em java
Integrando JENKINS com Maven, Java
Precisamos fazer 4-5 configurações no Jenkins para integrá-lo com Maven, Java e executar o mesmo.
Assim que entrarmos no Jenkins,
Goto Manager Jenkins >> Configuração de ferramenta global
definir o caminho de instalação do JDK

Observação : Certifique-se de que a versão de Jenkin seja compatível com a versão JDK / Java. Jenkins versão 2.73 requer pelo menos JDK / JAVA versão 1.8 ou então criará problemas ao executar os scripts de teste.
Defina o caminho de instalação do Maven

Depois disso, Goto Manager Jenkins >> Configurar Sistemas
Definir caminho da variável ambiental

Próximo, Criar um Novo Item
Precisamos clicar em criar um novo link, especificar o nome para o trabalho, selecione o tipo de projeto como Freestyle . Não precisa se preocupar com outras coisas a partir de agora.

Assim que o trabalho for criado, terá a seguinte aparência.

Agora clique no trabalho
Siga as etapas abaixo:
- Clique no link configurar no painel do lado esquerdo.
- Role a guia Geral e clique no botão Avançado.
- Selecione a caixa de seleção do espaço de trabalho personalizado e especifique o local da pasta do projeto.

Depois disso
- Role para baixo mais para Build Triggers
- Selecione a caixa de seleção Compilar periodicamente
- Defina algum tempo conforme mencionado abaixo

Role para baixo e defina o nome de Build. No nosso caso, é um comando de lote executável do Windows.
Está no mesmo local onde mantemos o arquivo run.bat anteriormente, que é a pasta D: RestAssured restapi

Salve todas as alterações feitas até agora.
Agora, aguarde a execução do cron job. Podemos ver que a construção foi iniciada.

Assim que a construção for executada com sucesso, em seguida, precisamos clicar na construção # 20, conforme especificado na imagem acima.
Clique no Saída do console link no painel esquerdo.
Agora devemos ser capazes de ver a seguinte saída.

Conclusão
REST ASSURED é uma biblioteca JAVA muito útil para automatizar APIs REST independentemente da linguagem. Tem muitas opções integradas. Além disso, tem muitas versões com funções interessantes, opções incluídas nele. Suporta muitos formatos como Requests como XML, JSON, etc.
Neste tutorial, explicamos como automatizar as solicitações de API usando RESTAssured ao executar scripts de teste usando Jenkins. Também explicamos por que Rest Assured é a melhor opção para automatizar solicitações de API.
Esperamos que você tenha gostado de ler esta série de tutoriais da API Rest!
Leitura recomendada
- Teste de API REST com Cucumber usando a abordagem BDD
- As 10 melhores ferramentas de teste de API em 2021 (ferramentas de teste de API SOAP e REST)
- Teste de API REST com Spring RestTemplate e TestNG
- Trabalho com solicitações HTTP no JMeter
- Tutorial POSTMAN: Teste de API usando POSTMAN
- As 20 perguntas e respostas mais importantes da entrevista de teste de API
- As 10 melhores ferramentas de gerenciamento de API com comparação de recursos
- 36 principais perguntas da entrevista do Jenkins (para 2021)