Skip to content

v3.0.0 — TestRail + Xray Integration

Choose a tag to compare

@shossain786 shossain786 released this 21 Jun 06:12
· 101 commits to master since this release

What's New

TestRail Integration

Annotate any test method (or class) with @TestRailCase("C1234") to push results to TestRail automatically — no extra code in @Test methods required.

  • Creates a named run at suite start (autoCreateRun: true)
  • Pushes per-test results immediately after each test completes
  • Maps PASSED→1, FAILED→5, SKIPPED→Retest(4)
  • Failure exception message sent as the result comment
  • Supports multiple case IDs: @TestRailCase({"C1234", "C5678"})

Xray Integration

Annotate with @XrayTest("PROJ-123") to push results to Xray Cloud or Xray Server/DC.

  • Cloud — OAuth2 client credentials (clientId + clientSecret)
  • Server/DC — HTTP Basic auth (jiraUrl + username + password)
  • Results are batch-imported at suite end for efficiency
  • Supports testPlanKey to link executions to a Test Plan

Zero extra dependencies

Both clients use java.net.http.HttpClient (built into Java 17) — no OkHttp, Apache HttpClient, or Jackson required.

Works with TestNG and JUnit 5

Same annotations work in both frameworks. Framework auto-routes to the correct listener.

Configuration

testmanagement:
  testrail:
    enabled: true
    url: https://yourcompany.testrail.io
    username: user@example.com
    apiKey: YOUR_API_KEY
    projectId: 1
    suiteId: 2
    runName: "Selenium Boot – CI run"

  xray:
    enabled: true
    mode: cloud
    clientId: YOUR_CLIENT_ID
    clientSecret: YOUR_CLIENT_SECRET
    projectKey: PROJ

Dependency

<dependency>
    <groupId>io.github.seleniumboot</groupId>
    <artifactId>selenium-boot</artifactId>
    <version>3.0.0</version>
</dependency>

Bug Fix

  • Fixed @PreCondition not resolving @ConditionProvider methods in the JUnit 5 path