SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Pruebas de integración para
servicios REST usando
Rest Assured
JConf Colombia 2019
06 Julio 2019, Centro de Innovación y Negocios Ruta N, Medellín, Colombia
#JConfColombia2019
Eudris Cabrera
@eudriscabrera
Eudris Cabrera
Graduado de Ingeniería Telemática en la PUCMM.
Entusiasta de la tecnología y el software libre,
desarrollador Java, instructor ocasional (Java / Linux),
aficionado del béisbol/sóftbol y los bailes latinos.
En el tiempo libre, escribe artículos, realiza charlas,
participa en eventos tecnológicos y ayuda en la revisión
de documentación técnica en el mundo Java y el código
abierto.
REPUBLICA
DOMINICANA
¿De dónde soy?
Mi estadía en Medellin .....
AGENDA
● Introducción
● Confirguración
● Sintaxis
● Parámetros inicialización (Setup)
● Validación de datos técnicos en la respuesta.
● Pruebas parametrizadas
● Acceso a API Seguras
● Otros interesantes features de REST Assured
Es una librería Java que proporciona un lenguaje específico del dominio
(Domain-specific Language / DSL) para escribir pruebas potentes y sostenibles
para los servicios REST.
REST Assured
Configuración
Maven
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
Gradle
testCompile 'io.rest-assured:rest-assured:3.0.2'
Sintaxis
REST Assured utiliza una API Fluida que es compactible con el desarrollo guidado por comportamiento,
behavior-driven development (BDD). Esto es Given / When / Then, lo que resulta en una prueba que es fácil
de leer y se encarga de todo (configuración, ejecución y verificación) con sólo una sola línea de código.
Sintaxis
given().
when().
get("jconfdominicana/sessions")
.then()
.statusCode(200)
.and()
.contentType(ContentType.JSON);
Parámetros de inicialización (Setup)
@Before
public void setup() {
RestAssured.baseURI = "http://localhost";
RestAssured.port = 8080;
}
Validación de datos técnicos en la
respuesta
given().
pathParam("sessionId", 101)
.when()
.get("jconfdominicana/sessions/{sessionId}")
.then()
.contentType(ContentType.JSON)
.body("id", equalTo(101))
.body("title", equalTo("Pruebas de Integración para Servicios REST usando REST Assured"));
Pruebas parametrizadas
String contenido = given().
pathParam("sessionId", 101)
.when()
.get("jconfdominicana/sessions/{sessionId}")
.then()
.statusCode(200)
.extract()
.asString();
Otros interesantes features de REST
Assured
1. Puede serializar POJO y XML
2. Se puede integrar con Spring Mock MVC
¿Preguntas?
¡Gracias
P o r
Acompañarnos!
https://github.com/ecabrerar/rest-assured-jconf.git
Código fuente de los ejemplos en GitHub
Asuntos Legales
Todas las marcas registradas, así como todos los logotipos, imágenes,
fotografías, audio y vídeos mostrados en esta presentación son propiedad de
sus respectivos propietarios y/o representantes.
Su utilización es solamente para fines ilustrativos.
Referencias
Enlaces:
https://github.com/rest-assured/rest-assured/wiki/Usage
http://rest-assured.io/
https://www.codacy.com/blog/review-of-java-static-analysis-tools/
@eudriscabrera
@eudris
@ecabrerar
@eudriscabrera
Eudris Cabrera Rodríguez
Ingeniero Telemático
Desarrollador de Software / Consultor Informático
eudris@gmail.com
https://www.linkedin.com/in/eudriscabrera
http://www.slideshare.net/eudris
https://twitter.com/eudriscabrera
https://github.com/ecabrerar

Weitere ähnliche Inhalte

Ähnlich wie Pruebas de integración para servicios REST usando Rest Assured - JConf Colombia 2019

Open Source Tools for Java Projects
Open Source Tools for Java ProjectsOpen Source Tools for Java Projects
Open Source Tools for Java ProjectsJose Gutierrez
 
[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7Eudris Cabrera
 
Taller introducción Java EE 7 @UAPA
Taller introducción Java EE 7  @UAPATaller introducción Java EE 7  @UAPA
Taller introducción Java EE 7 @UAPAEudris Cabrera
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesDani Latorre
 
Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcursojorg_marq
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejerciciosEstefy Sanchez
 
Certificación Zend PHP 5.3 - Alejandro Mohamad
Certificación Zend PHP 5.3 - Alejandro MohamadCertificación Zend PHP 5.3 - Alejandro Mohamad
Certificación Zend PHP 5.3 - Alejandro MohamadPablo Ignacio de la Vega
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Robert Rayco Quiroz
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataJosé Carlos García Serrano
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generationSergi Almar i Graupera
 
Taller básico Herramientas Rendimiento DB2 en iSeries
Taller básico Herramientas Rendimiento DB2 en iSeriesTaller básico Herramientas Rendimiento DB2 en iSeries
Taller básico Herramientas Rendimiento DB2 en iSeriesXavier Espinoza
 
Tech Meetup: How to solve 2 common problems in Android & iOS
Tech Meetup: How to solve 2 common problems in Android & iOSTech Meetup: How to solve 2 common problems in Android & iOS
Tech Meetup: How to solve 2 common problems in Android & iOSSantex Group
 
Como desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico AvengerComo desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico AvengerAdrian Diaz Cervera
 

Ähnlich wie Pruebas de integración para servicios REST usando Rest Assured - JConf Colombia 2019 (20)

Clase 1
Clase 1 Clase 1
Clase 1
 
Open Source Tools for Java Projects
Open Source Tools for Java ProjectsOpen Source Tools for Java Projects
Open Source Tools for Java Projects
 
Connection
ConnectionConnection
Connection
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
definicion de java
definicion de javadefinicion de java
definicion de java
 
[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7
 
Taller introducción Java EE 7 @UAPA
Taller introducción Java EE 7  @UAPATaller introducción Java EE 7  @UAPA
Taller introducción Java EE 7 @UAPA
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernes
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcurso
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejercicios
 
Certificación Zend PHP 5.3 - Alejandro Mohamad
Certificación Zend PHP 5.3 - Alejandro MohamadCertificación Zend PHP 5.3 - Alejandro Mohamad
Certificación Zend PHP 5.3 - Alejandro Mohamad
 
Java.
Java.Java.
Java.
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big data
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Taller básico Herramientas Rendimiento DB2 en iSeries
Taller básico Herramientas Rendimiento DB2 en iSeriesTaller básico Herramientas Rendimiento DB2 en iSeries
Taller básico Herramientas Rendimiento DB2 en iSeries
 
Tech Meetup: How to solve 2 common problems in Android & iOS
Tech Meetup: How to solve 2 common problems in Android & iOSTech Meetup: How to solve 2 common problems in Android & iOS
Tech Meetup: How to solve 2 common problems in Android & iOS
 
Pruebas soap y las pruebas automatizadas
Pruebas soap  y las pruebas automatizadasPruebas soap  y las pruebas automatizadas
Pruebas soap y las pruebas automatizadas
 
Como desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico AvengerComo desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico Avenger
 

Kürzlich hochgeladen

SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxRAMIROANTONIOGALINDO
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptxmaykolmagallanes012
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsCZSOTEC
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.CZSOTEC
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfAnaRosaMontenegro
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 

Kürzlich hochgeladen (7)

SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptx
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptx
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios Windows
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdf
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 

Pruebas de integración para servicios REST usando Rest Assured - JConf Colombia 2019