O documento discute testes de API, REST, protocolo HTTP e integração contínua. Explica o que é uma API e seus benefícios. Detalha os métodos HTTP, status codes e arquitetura REST. Discute a importância de testes de API e ferramentas como HTTParty e RSpec. Também aborda integração contínua com Jenkins.
Automação de testes de API utilizando PostmanLucas Amaral
O documento apresenta conceitos iniciais sobre testes de API e automação de testes com Postman. Ele discute APIs, REST, requests e respostas HTTP, e como criar e rodar testes no Postman usando asserções e bibliotecas como Chai. O documento também fornece links para recursos adicionais sobre o tópico.
Arquitetura básica de testes para seu projeto JavaElias Nogueira
Palestra ministrada no The Developers Conference São Paulo 2017 dia 21/07 na Trilha Arquitetura Java.
Nesta apresentação falo da importância de planejar testes em diversos níveis dentro de um processo de desenvolvimento, bem como uma build pipeline ideal pensando em testes e dicas do que devemos ter na nossa arquitetura de teste para uma aplicação em Java.
O documento apresenta uma introdução sobre testes automatizados de APIs com o framework Codeception, discutindo porque fazer testes de API, como instalar e configurar o Codeception, e como criar e executar testes de API usando seus métodos.
Este documento discute testes automatizados de API com o framework Codeception. Ele apresenta porque fazer testes de API, o que é o Codeception, como instalá-lo e criar testes de API, e como executar os testes para validar respostas de requisições e garantir que as APIs funcionam conforme o esperado.
O documento discute o papel do QA na transformação ágil, identificando anti-patters como realizar testes em fases separadas e focar em testes manuais. Propõe que QA trabalhe em conjunto com outros papéis desde o início, com teste automático, feedback rápido e treinamento para apoiar a transformação.
O documento apresenta as principais evoluções da linguagem Javascript na versão ECMAScript 6, incluindo novas funcionalidades como constants, arrow functions, template literals, classes, generators, promises e outras. O objetivo é expor os novos recursos disponíveis e demonstrar exemplos de sintaxe e utilização.
Palestra ministrada na Trilha DevTest do The Developers Conference 2019 em Florianópolis sobre automação de testes de API com RestAssured e virtualização de serviços com Wiremock
Automação de testes de API utilizando PostmanLucas Amaral
O documento apresenta conceitos iniciais sobre testes de API e automação de testes com Postman. Ele discute APIs, REST, requests e respostas HTTP, e como criar e rodar testes no Postman usando asserções e bibliotecas como Chai. O documento também fornece links para recursos adicionais sobre o tópico.
Arquitetura básica de testes para seu projeto JavaElias Nogueira
Palestra ministrada no The Developers Conference São Paulo 2017 dia 21/07 na Trilha Arquitetura Java.
Nesta apresentação falo da importância de planejar testes em diversos níveis dentro de um processo de desenvolvimento, bem como uma build pipeline ideal pensando em testes e dicas do que devemos ter na nossa arquitetura de teste para uma aplicação em Java.
O documento apresenta uma introdução sobre testes automatizados de APIs com o framework Codeception, discutindo porque fazer testes de API, como instalar e configurar o Codeception, e como criar e executar testes de API usando seus métodos.
Este documento discute testes automatizados de API com o framework Codeception. Ele apresenta porque fazer testes de API, o que é o Codeception, como instalá-lo e criar testes de API, e como executar os testes para validar respostas de requisições e garantir que as APIs funcionam conforme o esperado.
O documento discute o papel do QA na transformação ágil, identificando anti-patters como realizar testes em fases separadas e focar em testes manuais. Propõe que QA trabalhe em conjunto com outros papéis desde o início, com teste automático, feedback rápido e treinamento para apoiar a transformação.
O documento apresenta as principais evoluções da linguagem Javascript na versão ECMAScript 6, incluindo novas funcionalidades como constants, arrow functions, template literals, classes, generators, promises e outras. O objetivo é expor os novos recursos disponíveis e demonstrar exemplos de sintaxe e utilização.
Palestra ministrada na Trilha DevTest do The Developers Conference 2019 em Florianópolis sobre automação de testes de API com RestAssured e virtualização de serviços com Wiremock
O documento discute a automação de testes de APIs usando as ferramentas HTTParty e Cucumber em Ruby. Ele explica o que é uma API e introduz os pré-requisitos e ferramentas necessárias como HTTParty, Cucumber e RSpec. Em seguida, fornece exemplos de como usar o HTTParty para fazer requisições GET e POST e discute a abordagem BDD com Cucumber. Por fim, discute a estrutura e configuração de um projeto de teste automatizado para APIs usando essas ferramentas.
Alguns conceitos para começar a testar APIs REST. Precisamos saber alguns conceitos básicos e depois podemos começar a testar. De forma bem resumida o que são os métodos HTTP, o que é URL e URI, como fazer uma requisição no Postman e os principais códigos de status HTTP!
Alguns links e materiais indicados para quem quer iniciar nesse mundo de testes em API foram disponibilizados.
REST é um estilo de arquitetura para web services que explora as capacidades do protocolo HTTP. O documento discute a definição, história e motivação para REST, apresentando exemplos de implementação com JAX-RS/Jersey que mapeiam recursos e operações em URIs e métodos HTTP.
Este documento apresenta o desenvolvimento de uma API RESTful com Java EE, abordando conceitos como HTTP, REST, JAX-RS e implementação de recursos REST em diferentes níveis de maturidade até chegar em uma API completa. O curso também demonstra tópicos como modelagem de dados, DTOs, configuração do projeto com Maven, repositório de dados e consumo da API.
Este documento apresenta como testar APIs com RSpec e HTTParty. Ele discute a pirâmide de testes, o que é uma API, os padrões REST e SOAP, métodos HTTP, códigos de status HTTP, as bibliotecas HTTParty e RSpec e fornece um exemplo prático.
O documento discute APIs, sistemas de integração e suas aplicações em negócios. Aborda tópicos como a diferença entre APIs, bibliotecas e frameworks, como APIs funcionam, requisições HTTP, formatos como SOAP, REST, XML e JSON, segurança e autenticação, criação e consumo de APIs. Também discute opções para sites e aplicativos móveis, além de justificar a exposição de dados via APIs.
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMASHeider Lopes
No dia 27/04/2017 foi realizado na FIAP - Unidade Aclimação o Workshop do Bem onde falamos sobre o mundo das APIs - otimizando a integração de sistemas.
Abordamos no evento sobre a importância para conquistar clientes e mantê-los engajados com o seu conteúdo e como conseguir entregar o que ele espera, no momento que ele quer e como surpreendê-lo podendo, para isso, ser utilizado um computador, um tablet, um smartphone ou quem sabe até uma coisa (IoT). Apresentamos como as APIs facilitam a integração entre sistemas e parceiros, favorecendo todo o ecossistema em volta de sua marca.
Confira abaixo os slides apresentados.
O documento discute como aplicar serviços web com WebAPI em projetos. Explica o que são serviços web e WebAPI, como funcionam, e como consumir e criar serviços WebAPI, incluindo autenticação e versionamento. Também fornece recursos adicionais sobre segurança e onde buscar mais informações sobre o assunto.
O documento discute conceitos fundamentais de arquitetura web e REST. Ele explica como HTTP funciona para transferir dados entre clientes e servidores e como REST usa verbos HTTP e URLs para acessar recursos de forma uniforme. Também apresenta JSON como formato para representar dados e componentes do Delphi que facilitam o consumo de APIs REST.
O documento discute o framework ASP.NET MVC, incluindo seu padrão MVC, routers, controladores, modelos, ações e views. Também fornece uma breve introdução aos protocolos HTTP e como requisições e respostas são formatadas.
Uma versão um pouco mais leve e sem referências a tecnologias de backend, apresentando para a galera de frontend os principais conceitos de APIs RESTful e algumas ferramentas úteis para o dia-a-dia.
Para ver os slides com comentários descritivos, acesse: https://docs.google.com/presentation/d/1fcvYVSXVsgGsnjTJZHBxVig8d0iVOENcuPvfkfnuG4M/edit?usp=sharing
REST e GraphQL são duas APIs populares. REST usa métodos HTTP como GET e POST para recuperar e enviar dados, enquanto GraphQL permite que os clientes solicitem exatamente os dados de que precisam através de uma única consulta. Embora GraphQL elimine problemas como over-fetching, REST tem vantagens como cache e monitoramento mais fácil.
API's Automidia: Provendo Meios Estruturados de IntegraçãoRequestia Software
Este documento fornece diretrizes sobre integração com APIs do Automidia. Apresenta o que são APIs e sua importância, exemplos de aplicação, quais APIs estão disponíveis, como funcionam, segurança da integração e fontes de informação.
O documento descreve o protocolo HTTP, incluindo que ele define as regras para a comunicação entre clientes e servidores na web. O protocolo especifica os tipos de requisições e respostas permitidas, com os clientes fazendo requisições e os servidores fornecendo respostas. Os códigos de status comuns e seus significados também são explicados.
O documento fornece uma introdução sobre APIs, abordando conceitos como HTTP, REST, SOAP, Webhooks e GraphQL. Inclui exemplos de uso correto e incorreto de métodos HTTP, códigos de status e endpoints RESTful. Também discute ferramentas, boas práticas, segurança e outros tópicos relacionados a APIs.
Este documento resume os principais pontos sobre APIs RESTful. Em 3 frases:
RESTful APIs devem usar recursos HTTP como URIs e verbos HTTP para representar entidades e operações. Elas devem ser stateless e usar códigos HTTP para indicar sucesso ou falha de requisições. Seguir padrões como JSON API Spec permite criar APIs mais robustas e com recursos como paginação entre outros.
1) Aplicações web permitem que clientes ao redor do mundo acessem recursos em servidores;
2) Servidores recebem solicitações de clientes e devolvem respostas, como páginas HTML ou arquivos;
3) Clientes fazem solicitações usando navegadores e protocolos como HTTP, enquanto servidores respondem usando linguagens como HTML.
Diapositivos práticos - Integração de Sistemas.pdfJ0071
O documento descreve o Sikuli, um software de automação GUI que usa reconhecimento de imagens. Ele explica como o Sikuli funciona, comandos básicos como clicar e digitar, e demonstra exemplos como automação condicional e loops. Além disso, discute testes GUI, entrada de dados e classes como Robot e requisições HTTP.
O documento apresenta uma introdução ao ASP.NET Web API, abordando seus fundamentos, como iniciar com o framework, rotas, consumo de serviços e hospedagem. É apresentada uma visão geral dos principais tópicos como protocolo HTTP, recursos, estilo REST, verbos HTTP e como construir controllers e consumir APIs.
Mais conteúdo relacionado
Semelhante a [ATC] Testando sua API com HTTPARTY e Rodando em um CI
O documento discute a automação de testes de APIs usando as ferramentas HTTParty e Cucumber em Ruby. Ele explica o que é uma API e introduz os pré-requisitos e ferramentas necessárias como HTTParty, Cucumber e RSpec. Em seguida, fornece exemplos de como usar o HTTParty para fazer requisições GET e POST e discute a abordagem BDD com Cucumber. Por fim, discute a estrutura e configuração de um projeto de teste automatizado para APIs usando essas ferramentas.
Alguns conceitos para começar a testar APIs REST. Precisamos saber alguns conceitos básicos e depois podemos começar a testar. De forma bem resumida o que são os métodos HTTP, o que é URL e URI, como fazer uma requisição no Postman e os principais códigos de status HTTP!
Alguns links e materiais indicados para quem quer iniciar nesse mundo de testes em API foram disponibilizados.
REST é um estilo de arquitetura para web services que explora as capacidades do protocolo HTTP. O documento discute a definição, história e motivação para REST, apresentando exemplos de implementação com JAX-RS/Jersey que mapeiam recursos e operações em URIs e métodos HTTP.
Este documento apresenta o desenvolvimento de uma API RESTful com Java EE, abordando conceitos como HTTP, REST, JAX-RS e implementação de recursos REST em diferentes níveis de maturidade até chegar em uma API completa. O curso também demonstra tópicos como modelagem de dados, DTOs, configuração do projeto com Maven, repositório de dados e consumo da API.
Este documento apresenta como testar APIs com RSpec e HTTParty. Ele discute a pirâmide de testes, o que é uma API, os padrões REST e SOAP, métodos HTTP, códigos de status HTTP, as bibliotecas HTTParty e RSpec e fornece um exemplo prático.
O documento discute APIs, sistemas de integração e suas aplicações em negócios. Aborda tópicos como a diferença entre APIs, bibliotecas e frameworks, como APIs funcionam, requisições HTTP, formatos como SOAP, REST, XML e JSON, segurança e autenticação, criação e consumo de APIs. Também discute opções para sites e aplicativos móveis, além de justificar a exposição de dados via APIs.
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMASHeider Lopes
No dia 27/04/2017 foi realizado na FIAP - Unidade Aclimação o Workshop do Bem onde falamos sobre o mundo das APIs - otimizando a integração de sistemas.
Abordamos no evento sobre a importância para conquistar clientes e mantê-los engajados com o seu conteúdo e como conseguir entregar o que ele espera, no momento que ele quer e como surpreendê-lo podendo, para isso, ser utilizado um computador, um tablet, um smartphone ou quem sabe até uma coisa (IoT). Apresentamos como as APIs facilitam a integração entre sistemas e parceiros, favorecendo todo o ecossistema em volta de sua marca.
Confira abaixo os slides apresentados.
O documento discute como aplicar serviços web com WebAPI em projetos. Explica o que são serviços web e WebAPI, como funcionam, e como consumir e criar serviços WebAPI, incluindo autenticação e versionamento. Também fornece recursos adicionais sobre segurança e onde buscar mais informações sobre o assunto.
O documento discute conceitos fundamentais de arquitetura web e REST. Ele explica como HTTP funciona para transferir dados entre clientes e servidores e como REST usa verbos HTTP e URLs para acessar recursos de forma uniforme. Também apresenta JSON como formato para representar dados e componentes do Delphi que facilitam o consumo de APIs REST.
O documento discute o framework ASP.NET MVC, incluindo seu padrão MVC, routers, controladores, modelos, ações e views. Também fornece uma breve introdução aos protocolos HTTP e como requisições e respostas são formatadas.
Uma versão um pouco mais leve e sem referências a tecnologias de backend, apresentando para a galera de frontend os principais conceitos de APIs RESTful e algumas ferramentas úteis para o dia-a-dia.
Para ver os slides com comentários descritivos, acesse: https://docs.google.com/presentation/d/1fcvYVSXVsgGsnjTJZHBxVig8d0iVOENcuPvfkfnuG4M/edit?usp=sharing
REST e GraphQL são duas APIs populares. REST usa métodos HTTP como GET e POST para recuperar e enviar dados, enquanto GraphQL permite que os clientes solicitem exatamente os dados de que precisam através de uma única consulta. Embora GraphQL elimine problemas como over-fetching, REST tem vantagens como cache e monitoramento mais fácil.
API's Automidia: Provendo Meios Estruturados de IntegraçãoRequestia Software
Este documento fornece diretrizes sobre integração com APIs do Automidia. Apresenta o que são APIs e sua importância, exemplos de aplicação, quais APIs estão disponíveis, como funcionam, segurança da integração e fontes de informação.
O documento descreve o protocolo HTTP, incluindo que ele define as regras para a comunicação entre clientes e servidores na web. O protocolo especifica os tipos de requisições e respostas permitidas, com os clientes fazendo requisições e os servidores fornecendo respostas. Os códigos de status comuns e seus significados também são explicados.
O documento fornece uma introdução sobre APIs, abordando conceitos como HTTP, REST, SOAP, Webhooks e GraphQL. Inclui exemplos de uso correto e incorreto de métodos HTTP, códigos de status e endpoints RESTful. Também discute ferramentas, boas práticas, segurança e outros tópicos relacionados a APIs.
Este documento resume os principais pontos sobre APIs RESTful. Em 3 frases:
RESTful APIs devem usar recursos HTTP como URIs e verbos HTTP para representar entidades e operações. Elas devem ser stateless e usar códigos HTTP para indicar sucesso ou falha de requisições. Seguir padrões como JSON API Spec permite criar APIs mais robustas e com recursos como paginação entre outros.
1) Aplicações web permitem que clientes ao redor do mundo acessem recursos em servidores;
2) Servidores recebem solicitações de clientes e devolvem respostas, como páginas HTML ou arquivos;
3) Clientes fazem solicitações usando navegadores e protocolos como HTTP, enquanto servidores respondem usando linguagens como HTML.
Diapositivos práticos - Integração de Sistemas.pdfJ0071
O documento descreve o Sikuli, um software de automação GUI que usa reconhecimento de imagens. Ele explica como o Sikuli funciona, comandos básicos como clicar e digitar, e demonstra exemplos como automação condicional e loops. Além disso, discute testes GUI, entrada de dados e classes como Robot e requisições HTTP.
O documento apresenta uma introdução ao ASP.NET Web API, abordando seus fundamentos, como iniciar com o framework, rotas, consumo de serviços e hospedagem. É apresentada uma visão geral dos principais tópicos como protocolo HTTP, recursos, estilo REST, verbos HTTP e como construir controllers e consumir APIs.
Semelhante a [ATC] Testando sua API com HTTPARTY e Rodando em um CI (20)
3. O que vamos ver?
● API
○ Por quê API?
○ Exemplos do uso de API
● REST
● Protocolo HTTP
○ Métodos HTTP
○ HTTP Status Code
● Por quê teste de API?
○ HTTParty
○ RSpec
○ Como Testar?
○ Como é na prática?
● Integração Contínua
○ Jenkins
○ Como é na prática?
4. API - Application Programming Interface
Interface de programação de aplicativos. Uma API é um conjunto de
comandos, funções, protocolos e objetos que os programadores podem
usar para criar software ou interagir com um sistema externo. Ele
fornece aos desenvolvedores comandos padrão para executar
operações comuns para que não tenham que escrever o código do
zero."
TechTerms, 2017
5. Por quê API?
● Construções de novas aplicações
● Desempenho da sua aplicação
● Desenvolvedores não precisam desenvolver tudo do zero
● Serviço pode ser usado em mais de uma aplicação dentro ou fora de
uma empresa
7. REST - REpresentational State Transfer
Transferência de Dados Representacional é um estilo de arquitetura e
uma abordagem às comunicações que é freqüentemente usada no
desenvolvimento de serviços da Web. Normalmente é executado em
HTTP (Hypertext Transfer Protocol).
8. REST - REpresentational State Transfer
● Interações entre clientes e serviços são aprimoradas por ter um número
limitado de operações (verbos).
● Flexibilidade é fornecida ao atribuir recursos seus próprios
identificadores de recursos universais (URIs) únicos.
● Como cada verbo tem um significado específico (GET, POST, PUT e
DELETE), o REST evita a ambiguidade. Ou seja, dependendo de como o
recurso será consumido através do identificador, o seu comportamento
irá mudar.
9. REST - REpresentational State Transfer
As interações são compostas, principalmente, de três informações:
● Endpoint: endereços web que executam as ações e são acessados
diretamente pelos clientes.
● Verbo: ação desejada a ser realizada no recurso identificado.
● Body: Informações que são enviadas, como dados de um cadastro.
10. Protocolo HTTP
O protocolo HTTP define métodos (às vezes referidos como verbos) para
indicar a ação desejada a ser realizada no recurso identificado.
Quantos aos métodos, existem 4 que são os mais utilizados.
13. HTTP Status Code
Esse é outro item importante para a arquitetura de uma API REST, porque, da mesma
maneira que acontece como os verbos HTTP, elas formam um padrão facilmente
reconhecido por quem for consumir o webservice.
Os códigos de sucesso tem o padrão 20x, os de redirecionamento 30x, os de erro do
cliente 40x e os de erro de servidor 50x.
Os principais códigos utilizados para as respostas de um endpoint são:
14.
15.
16.
17.
18.
19. Por quê teste de API?
“Ideal”
Unit
Service
UI
Manual
20. HTTParty
É um gem ruby que simplifica a manipulação de request e
response REST.
21. RSpec
O RSpec é um framework BDD (Behaviour-Driven Development
ou Desenvolvimento Guiado por Comportamento) escrito em
Ruby, que permite que você escreva testes em uma linguagem
mais natural.
22. Como Testar?
GET
POST
PUT
DELETE
Faça um request GET para um conteúdo específico e
verifique se o status code 200 foi retornado.
Depois verifique se o conteúdo esperado foi retornado
também.
23. Como Testar?
GET
POST
PUT
DELETE
Faça um request com POST e verifique se o status code
201 foi retornado
Depois, faça um request com GET para o conteúdo
gravado anteriormente e verifique se o mesmo foi salvo
corretamente.
Adicione testes POST com request incorretos, como falta
de conteúdo por exemplo, que irão falhar. Deve-se
retornar status code 400 ( Bad Request).
24. Como Testar?
GET
POST
PUT
DELETE
Faça um request PUT para atualizar um conteúdo e
verifique se o status code 204 foi retornado
Depois, faça um request com GET para um conteúdo
alterado e verifique se retorna o novo conteúdo.
25. Como Testar?
GET
POST
PUT
DELETE
Faça um DELETE para um conteúdo específico.
Depois faça um GET para o ID do conteúdo anterior,
deve-se retornar status code 404 (Not Found).
26. API de teste
POST: api/series -> Adicionar série
GET: api/series -> Retornar todas as séries
GET: api/series/serie_id -> Retornar uma série específica
PUT: api/series/serie_id -> Atualizar uma série específica
DELETE: api/series/serie_id -> Deletar uma série específica
28. Integração Contínua
Integração Contínua é uma metodologia moderna de
desenvolvimento, em que os desenvolvedores envolvidos em um
projeto integram seus trabalhos continuamente.
29. Jenkins
Jenkins é um servidor de automação de código aberto escrito em Java. A
Jenkins ajuda a automatizar a parte não humana do processo de
desenvolvimento de software, com integração contínua e facilitando
aspectos técnicos de entrega contínua.