SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Pruebas de integración para servicios REST usando Rest Assured - JConf Dominicana 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
 
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
 
Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcursojorg_marq
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeAngel Nuñez
 
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
 
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...Roderickx12
 
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
 
[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
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejerciciosEstefy 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 @UAPAEudris Cabrera
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
Trabajo de sistemas de informacion
Trabajo de sistemas de informacionTrabajo de sistemas de informacion
Trabajo de sistemas de informacionEvelin Oña
 
Java db2-documentacion-spanish v03
Java db2-documentacion-spanish v03Java db2-documentacion-spanish v03
Java db2-documentacion-spanish v03AaronVasco
 

Similaire à 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