The repository contains new versions of adaptors for JVM-based test frameworks.
All the artifacts are deployed to https://repo1.maven.org/maven2/io/qameta/allure/
.
The new TestNG adaptors is pretty much ready. To use the adaptor you should add the following dependency:
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
also you need to configure AspectJ weaver to support steps.
The first draft of a new JUnit 4 adaptor is ready. To use the adaptor you should add the following dependency:
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-junit4</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
To use JUnit 5 simply add the following dependency to your project:
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-junit5</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Listener for Selenide, that logging steps for Allure:
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-selenide</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Usage example:
SelenideLogger.addListener("AllureSelenide", new AllureSelenide().screenshots(true).savePageSource(false));
Capture selenium logs:
SelenideLogger.addListener("AllureSelenide", new AllureSelenide().enableLogs(LogType.BROWSER, Level.ALL));
https://github.com/SeleniumHQ/selenium/wiki/Logging
Filter for rest-assured http client, that generates attachment for allure.
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-rest-assured</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Usage example:
.filter(new AllureRestAssured())
You can specify custom templates, which should be placed in src/main/resources/tpl folder:
.filter(new AllureRestAssured()
.withRequestTemplate("custom-http-request.ftl")
.withResponseTemplate("custom-http-response.ftl"))
Interceptor for OkHttp client, that generates attachment for allure.
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-okhttp3</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Usage example:
.addInterceptor(new AllureOkHttp3())
You can specify custom templates, which should be placed in src/main/resources/tpl folder:
.addInterceptor(new AllureOkHttp3()
.withRequestTemplate("custom-http-request.ftl")
.withResponseTemplate("custom-http-response.ftl"))
Interceptor for gRPC stubs, that generates attachment for allure.
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-grpc</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Usage example:
.newBlockingStub(channel).withInterceptors(new AllureGrpc());
You can enable interception of response metadata (disabled by default)
.withInterceptors(new AllureGrpc()
.interceptResponseMetadata(true))
By default, a step will be marked as failed in case that response contains any statuses except 0(OK). You can change this behavior, for example, for negative scenarios
.withInterceptors(new AllureGrpc()
.markStepFailedOnNonZeroCode(false))
You can specify custom templates, which should be placed in src/main/resources/tpl folder:
.withInterceptors(new AllureGrpc()
.setRequestTemplate("custom-http-request.ftl")
.setResponseTemplate("custom-http-response.ftl"))
Interceptors for Apache HTTP client, that generates attachment for allure.
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-httpclient</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Usage example:
.addInterceptorFirst(new AllureHttpClientRequest())
.addInterceptorLast(new AllureHttpClientResponse());
Interceptors for Apache httpclient5.
Additional info can be found in module allure-httpclient5
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-httpclient5</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Usage example:
final HttpClientBuilder builder = HttpClientBuilder.create()
.addRequestInterceptorFirst(new AllureHttpClient5Request("your-request-template-attachment.ftl"))
.addResponseInterceptorLast(new AllureHttpClient5Response("your-response-template-attachment.ftl"));
Filter that can be used with JAX-RS compliant clients such as RESTeasy and Jersey
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-jax-rs</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Usage example:
.register(AllureJaxRs.class)
JsonPatchMatcher is extension of JsonUnit matcher, that generates pretty html attachment for differences based on json diff patch.
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-jsonunit</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Extended logging for poling and ignored exceptions for awaitility. For
more usage example look into module allure-awaitility
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-awaitility</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
Usage example:
Awaitility.setDefaultConditionEvaluationListener(new AllureAwaitilityListener());
4,5,6,7 versions are supported instead of N use the required version. To use Cucumber simply add the following dependency to your project:
How to use allure cucumber code examples
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-cucumberN-jvm</artifactId>
<version>$LATEST_VERSION</version>
</dependency>