https://github.com/evpl/xteps2
Log test steps into any reporting systems
https://github.com/evpl/xteps2
allure allure-report automated-testing automation extentreports java kotlin logging qase reporting reporting-tool reportportal steps testing testit
Last synced: 5 months ago
JSON representation
Log test steps into any reporting systems
- Host: GitHub
- URL: https://github.com/evpl/xteps2
- Owner: evpl
- License: apache-2.0
- Created: 2023-01-13T15:33:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-05T03:20:08.000Z (over 2 years ago)
- Last Synced: 2024-01-29T20:54:01.039Z (over 2 years ago)
- Topics: allure, allure-report, automated-testing, automation, extentreports, java, kotlin, logging, qase, reporting, reporting-tool, reportportal, steps, testing, testit
- Language: Java
- Homepage:
- Size: 200 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Xteps2
[](https://central.sonatype.com/namespace/com.plugatar.xteps2)
[](https://javadoc.io/doc/com.plugatar.xteps2)
[](https://opensource.org/licenses/Apache-2.0)

## How to use
Requires Java 8+ version or Kotlin JVM.
| Module | Maven central | Javadoc |
|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
| `xteps2` | [](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2) | [](https://javadoc.io/doc/com.plugatar.xteps2/xteps2) |
| `xteps2-allure` | [](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-allure) | [](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-allure) |
| `xteps2-extentreports` | [](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-extentreports) | [](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-extentreports) |
| `xteps2-qase` | [](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-qase) | [](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-qase) |
| `xteps2-reportportal` | [](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-reportportal) | [](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-reportportal) |
| `xteps2-selenide` | [](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-selenide) | [](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-selenide) |
| `xteps2-testit` | [](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-testit) | [](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-testit) |
Maven:
```xml
com.plugatar.xteps2
{module name}
1.1
test
```
Gradle:
```groovy
dependencies {
testImplementation 'com.plugatar.xteps2:{module name}:1.1'
}
```
Kotlin DSL:
```groovy
dependencies {
testImplementation("com.plugatar.xteps2:{module name}:1.1")
}
```
## Code examples
You can find code examples in the [xteps2-examples repository](https://github.com/evpl/xteps2-examples).
## Configuration
There are two ways to use parameters. Be aware that higher source override lower one - properties from file can be
overridden by system properties.
| Priority | Source |
|----------|--------------------------------------|
| 1 | System properties |
| 2 | Properties file (`xteps.properties`) |
### Properties list
| Name | Type | Required | Default value | Description |
|------------------------------------------------|---------|----------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| xteps.reporter.enabled | Boolean | No | `true` | Enable/disable steps logging. |
| xteps.listener.autodetection | Boolean | No | `true` | Enable/disable Service Provider Interface mechanism to detect and instantiate `com.plugatar.xteps2.core.StepListener` implementations. Implementations should have zero-argument public constructor. |
| xteps.listener.list | String | No | | List of `com.plugatar.xteps2.core.StepListener` implementations names in `Class#getTypeName()` format. Names should be separated by `,`. Implementations should have zero-argument public constructor. |
| xteps.exceptionHandler.cleanStackTrace.enabled | Boolean | No | `true` | Removes all stack trace lines about Xteps from any exception except `XtepsException`. |
| xteps.textFormatter.enabled | Boolean | No | `true` | Enable/disable text artifacts (name and description) formatting. |
| xteps.textFormatter.replacementPattern | String | No | `{([^}]*)}` | Replacement pattern for text formatter. |
| xteps.textFormatter.field.forceAccess.enabled | Boolean | No | `true` | Allow forced retrieval of field values via reflection. |
| xteps.textFormatter.method.forceAccess.enabled | Boolean | No | `true` | Allow forced retrieval of method result values via reflection. |
| xteps.keyword.feature | String | No | `Feature` | `Feature` keyword value. |
| xteps.keyword.background | String | No | `Background` | `Background` keyword value. |
| xteps.keyword.scenario | String | No | `Scenario` | `Scenario` keyword value. |
| xteps.keyword.scenarioOutline | String | No | `Scenario Outline` | `Scenario Outline` keyword value. |
| xteps.keyword.given | String | No | `Given` | `Given` keyword value. |
| xteps.keyword.when | String | No | `When` | `When` keyword value. |
| xteps.keyword.then | String | No | `Then` | `Then` keyword value. |
| xteps.keyword.and | String | No | `And` | `And` keyword value. |
| xteps.keyword.but | String | No | `But` | `But` keyword value. |
| xteps.keyword.asterisk | String | No | `*` | `*` keyword value. |