{"id":38962727,"url":"https://github.com/evpl/xteps2","last_synced_at":"2026-01-17T16:26:11.796Z","repository":{"id":171393561,"uuid":"588627078","full_name":"evpl/xteps2","owner":"evpl","description":"Log test steps into any reporting systems","archived":false,"fork":false,"pushed_at":"2023-12-05T03:20:08.000Z","size":205,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-01-29T20:54:01.039Z","etag":null,"topics":["allure","allure-report","automated-testing","automation","extentreports","java","kotlin","logging","qase","reporting","reporting-tool","reportportal","steps","testing","testit"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evpl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-01-13T15:33:42.000Z","updated_at":"2023-12-12T19:04:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"c66062c8-b3ae-40c2-952c-93f174a1be11","html_url":"https://github.com/evpl/xteps2","commit_stats":{"total_commits":52,"total_committers":2,"mean_commits":26.0,"dds":0.25,"last_synced_commit":"d112199ad019708987aeffeea6e996050f1e9810"},"previous_names":["evpl/xteps2"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/evpl/xteps2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evpl%2Fxteps2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evpl%2Fxteps2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evpl%2Fxteps2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evpl%2Fxteps2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evpl","download_url":"https://codeload.github.com/evpl/xteps2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evpl%2Fxteps2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["allure","allure-report","automated-testing","automation","extentreports","java","kotlin","logging","qase","reporting","reporting-tool","reportportal","steps","testing","testit"],"created_at":"2026-01-17T16:26:11.694Z","updated_at":"2026-01-17T16:26:11.774Z","avatar_url":"https://github.com/evpl.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Xteps2\n\n[![Maven Central](https://img.shields.io/badge/maven--central-1.1-brightgreen?style=flat)](https://central.sonatype.com/namespace/com.plugatar.xteps2)\n[![Javadoc](https://img.shields.io/badge/javadoc-1.1-blue?style=flat)](https://javadoc.io/doc/com.plugatar.xteps2)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/evpl/xteps2/tests.yml)\n\n## How to use\n\nRequires Java 8+ version or Kotlin JVM.\n\n| Module                 | Maven central                                                                                                                                                                  | Javadoc                                                                                                                                     |\n|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|\n| `xteps2`               | [![Maven Central](https://img.shields.io/badge/-maven--central-brightgreen?style=flat-square)](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2)               | [![Javadoc](https://img.shields.io/badge/-javadoc-blue?style=flat-square)](https://javadoc.io/doc/com.plugatar.xteps2/xteps2)               |\n| `xteps2-allure`        | [![Maven Central](https://img.shields.io/badge/-maven--central-brightgreen?style=flat-square)](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-allure)        | [![Javadoc](https://img.shields.io/badge/-javadoc-blue?style=flat-square)](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-allure)        |\n| `xteps2-extentreports` | [![Maven Central](https://img.shields.io/badge/-maven--central-brightgreen?style=flat-square)](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-extentreports) | [![Javadoc](https://img.shields.io/badge/-javadoc-blue?style=flat-square)](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-extentreports) |\n| `xteps2-qase`          | [![Maven Central](https://img.shields.io/badge/-maven--central-brightgreen?style=flat-square)](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-qase)          | [![Javadoc](https://img.shields.io/badge/-javadoc-blue?style=flat-square)](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-qase)          |\n| `xteps2-reportportal`  | [![Maven Central](https://img.shields.io/badge/-maven--central-brightgreen?style=flat-square)](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-reportportal)  | [![Javadoc](https://img.shields.io/badge/-javadoc-blue?style=flat-square)](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-reportportal)  |\n| `xteps2-selenide`      | [![Maven Central](https://img.shields.io/badge/-maven--central-brightgreen?style=flat-square)](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-selenide)      | [![Javadoc](https://img.shields.io/badge/-javadoc-blue?style=flat-square)](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-selenide)      |\n| `xteps2-testit`        | [![Maven Central](https://img.shields.io/badge/-maven--central-brightgreen?style=flat-square)](https://central.sonatype.com/artifact/com.plugatar.xteps2/xteps2-testit)        | [![Javadoc](https://img.shields.io/badge/-javadoc-blue?style=flat-square)](https://javadoc.io/doc/com.plugatar.xteps2/xteps2-testit)        |\n\nMaven:\n\n```xml\n\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.plugatar.xteps2\u003c/groupId\u003e\n  \u003cartifactId\u003e{module name}\u003c/artifactId\u003e\n  \u003cversion\u003e1.1\u003c/version\u003e\n  \u003cscope\u003etest\u003c/scope\u003e\n\u003c/dependency\u003e\n```\n\nGradle:\n\n```groovy\ndependencies {\n    testImplementation 'com.plugatar.xteps2:{module name}:1.1'\n}\n```\n\nKotlin DSL:\n\n```groovy\ndependencies {\n    testImplementation(\"com.plugatar.xteps2:{module name}:1.1\")\n}\n```\n\n## Code examples\n\nYou can find code examples in the [xteps2-examples repository](https://github.com/evpl/xteps2-examples).\n\n## Configuration\n\nThere are two ways to use parameters. Be aware that higher source override lower one - properties from file can be\noverridden by system properties.\n\n| Priority | Source                               |\n|----------|--------------------------------------|\n| 1        | System properties                    |\n| 2        | Properties file (`xteps.properties`) |\n\n### Properties list\n\n| Name                                           | Type    | Required | Default value      | Description                                                                                                                                                                                            |\n|------------------------------------------------|---------|----------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| xteps.reporter.enabled                         | Boolean | No       | `true`             | Enable/disable steps logging.                                                                                                                                                                          |\n| 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.   |\n| 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. |\n| xteps.exceptionHandler.cleanStackTrace.enabled | Boolean | No       | `true`             | Removes all stack trace lines about Xteps from any exception except `XtepsException`.                                                                                                                  |\n| xteps.textFormatter.enabled                    | Boolean | No       | `true`             | Enable/disable text artifacts (name and description) formatting.                                                                                                                                       |\n| xteps.textFormatter.replacementPattern         | String  | No       | `{([^}]*)}`        | Replacement pattern for text formatter.                                                                                                                                                                |\n| xteps.textFormatter.field.forceAccess.enabled  | Boolean | No       | `true`             | Allow forced retrieval of field values via reflection.                                                                                                                                                 |\n| xteps.textFormatter.method.forceAccess.enabled | Boolean | No       | `true`             | Allow forced retrieval of method result values via reflection.                                                                                                                                         |\n| xteps.keyword.feature                          | String  | No       | `Feature`          | `Feature` keyword value.                                                                                                                                                                               |\n| xteps.keyword.background                       | String  | No       | `Background`       | `Background` keyword value.                                                                                                                                                                            |\n| xteps.keyword.scenario                         | String  | No       | `Scenario`         | `Scenario` keyword value.                                                                                                                                                                              |\n| xteps.keyword.scenarioOutline                  | String  | No       | `Scenario Outline` | `Scenario Outline` keyword value.                                                                                                                                                                      |\n| xteps.keyword.given                            | String  | No       | `Given`            | `Given` keyword value.                                                                                                                                                                                 |\n| xteps.keyword.when                             | String  | No       | `When`             | `When` keyword value.                                                                                                                                                                                  |\n| xteps.keyword.then                             | String  | No       | `Then`             | `Then` keyword value.                                                                                                                                                                                  |\n| xteps.keyword.and                              | String  | No       | `And`              | `And` keyword value.                                                                                                                                                                                   |\n| xteps.keyword.but                              | String  | No       | `But`              | `But` keyword value.                                                                                                                                                                                   |\n| xteps.keyword.asterisk                         | String  | No       | `*`                | `*` keyword value.                                                                                                                                                                                     |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevpl%2Fxteps2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevpl%2Fxteps2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevpl%2Fxteps2/lists"}