Skip to content

Tags: seleniumboot/selenium-boot

Tags

v3.3.0

Toggle v3.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #38 from seleniumboot/release/3.3.0

release: v3.3.0 — execution.parallel fix (#35) + pom.xml url

v3.2.0

Toggle v3.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #29 from seleniumboot/release/v3.2.0

release: v3.2.0 — WaitEngine attributeToBe, urlMatches, textMatches

v3.1.1

Toggle v3.1.1's commit message
fix: per-engine report output dir to prevent overwrites (v3.1.1)

When a TestNG suite (Surefire) and JUnit 5 tests (Failsafe) run in one build,
both wrote the metrics JSON + HTML report to target/, so the second engine
silently overwrote the first — the published report showed only the last
engine's tests (e.g. 11 JUnit5 instead of the full TestNG suite).

- New ReportPaths helper resolves the metrics JSON, HTML report, and metrics
  history under a base dir that honors -Dseleniumboot.reports.dir (the switch
  already used by JUnitXmlReporter), defaulting to target/.
- Wire it through ExecutionMetrics, HtmlReportGenerator, ReportAdapterRegistry,
  and FlakinessAnalyzer.
- Point one engine's run at its own dir (e.g. target/junit5) and each gets a
  self-contained report. 8 new ReportPaths unit tests; full suite 470 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

v3.1.0

Toggle v3.1.0's commit message
feat: accessibility-first locators (getByRole/getByText/getByLabel/…)…

… (v3.1.0)

Add Playwright-style semantic locators that target the accessibility tree
instead of brittle CSS/DOM structure, so tests survive redesigns.

- New Role enum (38 WAI-ARIA roles; implicit HTML + explicit role= mapping)
- Locator.byRole/byText/byLabel/byPlaceholder/byTestId/byAltText/byTitle
  with .withName/.withLevel/.exact refinements and a toBy() escape hatch
- Exposed as getBy*() on BaseTest and BasePage; flows through the existing
  auto-wait Locator chain (no Thread.sleep, no explicit waits)
- Case-insensitive substring by default, exact opt-in via .exact()
- Accessible-name computation follows ARIA precedence
  (aria-label → aria-labelledby → <label> → text → value/alt/title)
- Configurable test-id attribute (locators.testIdAttribute, default data-testid)
- 20 new unit tests; full suite green

Docs: extract version history from README into CHANGELOG.md (README 933→671
lines), add semantic-locators guide, bump all version snippets to 3.1.0,
update CLAUDE.md version-bump table.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

v3.0.0

Toggle v3.0.0's commit message
feat: add TestRail + Xray integration (v3.0.0)

Annotate tests with @TestRailCase("C1234") and/or @Xraytest("PROJ-123")
to push results automatically — no extra code in test methods required.
Both annotations support arrays for multiple IDs and work at method or
class level in TestNG and JUnit 5.

TestRail creates a named run at suite start and pushes per-test results
immediately via Basic-auth REST v2. Xray supports Cloud (OAuth2) and
Server/DC (Basic) and batch-imports results at suite end. All HTTP calls
use java.net.http.HttpClient — no new dependencies added.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

v2.0.0

Toggle v2.0.0's commit message
Phase 19 — Email Verification (v2.0.0)

Four backends: Mailhog (HTTP API), Mailtrap (v1 REST), Outlook/Office 365
(Microsoft Graph API — app-only OAuth2, token cached), IMAP (jakarta.mail
optional dep — Gmail, Yahoo, any standards-compliant server).

Core API:
- MailboxClient: waitForEmail(criteria), clear()
- EmailCriteria: to(addr), any().subject(text), .containing(text), .timeout(s)
- Email: assertSubject(), assertBodyContains(), extractLink(linkText)

Wired into BaseTest + BaseJUnit5Test as mailbox() and to() helpers.
autoClear: true in config clears inbox before each test automatically.
22 new unit tests in MailboxClientTest (314 total, all passing).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

v1.11.0

Toggle v1.11.0's commit message
Phase 20 — @retryable for JUnit 5 + Cucumber (v1.11.0)

- SeleniumBootExtension: InvocationInterceptor retries test methods
  with full driver recreation between attempts; WebDriver args
  re-resolved to new driver on retry
- CucumberHooks: detect retry via testId presence in ExecutionMetrics,
  record retry count for HTML report badge
- @retryable: add maxAttempts attribute + TYPE target; backward-compatible
- RetryListener: respect maxAttempts from annotation when specified
- Version bumped to 1.11.0; changelog + README updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

v1.10.0

Toggle v1.10.0's commit message
Phase 19 — JUnit 5 support (v1.10.0)

- SeleniumBootExtension: full AfterEachCallback lifecycle (screenshot,
  error, AI analysis, trace, recording), ParameterResolver for WebDriver
  injection, AfterAllCallback for per-suite driver cleanup
- BaseJUnit5Test: add getWait(), $(), assertThat(), step() overloads
- SeleniumBootLauncherListener: suite-level HTML report via JUnit Platform
  TestExecutionListener registered through ServiceLoader
- junit-platform-launcher:1.10.2 added as optional dependency
- Docs site: junit5.md rewritten from placeholder to live docs; JUnit 5
  and Cucumber feature cards added to homepage; version bumped to 1.10.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

v1.9.0

Toggle v1.9.0's commit message
Phase 18 — BDD/Cucumber integration (v1.9.0)

- Add com.seleniumboot.cucumber package: BaseCucumberTest,
  BaseCucumberSteps, CucumberHooks, CucumberStepLogger, CucumberContext
- TestExecutionListener: skip onTest* for Cucumber runner tests
- ExecutionHook.onTestEnd javadoc corrected (fires before driver quit)
- cucumber-java + cucumber-testng declared as optional dependencies
- Version bumped to 1.9.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

v1.8.0

Toggle v1.8.0's commit message
Phase 16 — Trace Viewer implementation completed