SlideShare a Scribd company logo
1 of 17
Download to read offline
Pruebas de integración para
servicios REST usando
Rest Assured
JConf Dominicana 2019
29 Junio 2019,Pontificia Universidad Católica Madre y Maestra (PUCMM), Santiago, R. D.
#JConfDominicana2019
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.
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

More Related Content

Similar to Pruebas de integración para servicios REST usando Rest Assured - JConf Dominicana 2019

Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcurso
jorg_marq
 
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
Sergi Almar i Graupera
 
[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
Eudris Cabrera
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejercicios
Estefy Sanchez
 
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
Eudris Cabrera
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
brobelo
 
Trabajo de sistemas de informacion
Trabajo de sistemas de informacionTrabajo de sistemas de informacion
Trabajo de sistemas de informacion
Evelin Oña
 

Similar to Pruebas de integración para servicios REST usando Rest Assured - JConf Dominicana 2019 (20)

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
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
 
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
 
Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcurso
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
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
 
pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...
pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...
pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...
 
Pruebas soap y las pruebas automatizadas
Pruebas soap  y las pruebas automatizadasPruebas soap  y las pruebas automatizadas
Pruebas soap y las pruebas automatizadas
 
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
 
[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
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejercicios
 
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
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Enterprise DB por Eptisa TI
Enterprise DB por Eptisa TI Enterprise DB por Eptisa TI
Enterprise DB por Eptisa TI
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 
Trabajo de sistemas de informacion
Trabajo de sistemas de informacionTrabajo de sistemas de informacion
Trabajo de sistemas de informacion
 
Java db2-documentacion-spanish v03
Java db2-documentacion-spanish v03Java db2-documentacion-spanish v03
Java db2-documentacion-spanish v03
 

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