Configuración de Allure REST Assured
Esta página describe los métodos que afectan el comportamiento de la integración de Allure REST Assured. Todos los métodos son encadenables.
Los ejemplos aquí asumen que usas JUnit 5 para tus pruebas.
Personalizar plantillas
setRequestTemplate(final String templatePath)setResponseTemplate(final String templatePath)
Especifica las rutas a las plantillas personalizadas que Allure REST Assured utilizará para dar formato a las solicitudes y respuestas HTTP.
Las plantillas deben estar escritas en el lenguaje de Apache Freemarker. Al procesar una solicitud o una respuesta, se pasa un objeto con todos sus detalles a la plantilla correspondiente como data. Puedes encontrar las plantillas predeterminadas en el repositorio de Allure Java.
Las rutas se interpretan como relativas al directorio tpl en los recursos de tu proyecto. Por ejemplo, el siguiente código usa las plantillas ubicadas en tpl/my-http-request.ftl y tpl/my-http-response.ftl.
import io.qameta.allure.restassured.AllureRestAssured;
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;
class TestMyWebsite {
static AllureRestAssured allureFilter = new AllureRestAssured()
.setRequestTemplate("my-http-request.ftl")
.setResponseTemplate("my-http-response.ftl");
@Test
void testSomeRequest() {
given()
.filter(allureFilter)
.get("https://jsonplaceholder.typicode.com/todos/1")
.then()
.body("userId", equalTo(1));
}
}Limitar el tamaño de embellecimiento del cuerpo
setMaxAllowedPrettifyLength(int maxAllowedPrettifyLength)
Establece el número máximo de caracteres de un cuerpo de respuesta que se embellecerán antes de adjuntarlo al reporte. Los cuerpos que superen este umbral se adjuntan tal cual, sin ningún formato. El valor predeterminado es 1_048_576 (1 MB).
Utiliza esto para evitar errores de falta de memoria al probar APIs que devuelven cargas JSON o XML muy grandes.
import io.qameta.allure.restassured.AllureRestAssured;
static AllureRestAssured allureFilter = new AllureRestAssured()
.setMaxAllowedPrettifyLength(512_000); // solo embellece cuerpos de hasta 512 KBPersonalizar nombres de adjuntos
setRequestAttachmentName(final String requestAttachmentName)setResponseAttachmentName(final String responseAttachmentName)
Especifica los nombres bajo los cuales Allure REST Assured creará los adjuntos para el reporte de prueba.
Por defecto, cada solicitud se llamará "Request", mientras que cada respuesta recibirá un nombre basado en su código HTTP, por ejemplo, "HTTP/1.1 200 OK".
import io.qameta.allure.restassured.AllureRestAssured;
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;
class TestMyWebsite {
static AllureRestAssured allureFilter = new AllureRestAssured()
.setRequestAttachmentName("Here is what we asked")
.setResponseAttachmentName("Here is what we got");
@Test
void testSomeRequest() {
given()
.filter(allureFilter)
.get("https://jsonplaceholder.typicode.com/todos/1")
.then()
.body("userId", equalTo(1));
}
}