GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix(selenide): deduplicate attachments on nested step failures by chiragbitoni · Pull Request #1505 · allure-framework/allure-java

Conversation

@chiragbitoni

@chiragbitoni chiragbitoni commented Nov 7, 2026

Copy link
Copy Markdown

Fixes #1453

Problem

When Selenide executes nested steps (for instance, a custom high-level test step wrapping an element action or assertion), failure in an inner step triggers �fterEvent with EventStatus.FAIL for both the inner step and all enclosing steps during step commit. Previously, this caused duplicate screenshot and page source attachments to be added across every enclosing step for the exact same failure.

Solution

  • Track captured Throwable instances in AllureSelenide using a WeakHashMap-backed set.
  • In �fterEvent, check the failure throwable and its cause hierarchy (getCause()) against previously recorded failures before capturing screenshots and page source attachments.
  • Enclosing steps encountering the same failure instance or wrapped cause do not create duplicate attachments.
  • Distinct failures across steps continue to capture attachments normally.
  • Unit tests added covering nested step deduplication, wrapped cause deduplication, and distinct failure attachment retention.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@chiragbitoni
fix(selenide): deduplicate attachments on nested step failures (allur…
80e09be
…e-framework#1453)

When Selenide logs nested steps, failure in an inner step triggers afterEvent
with FAIL for both the inner step and enclosing steps. Previously, this caused
duplicate screenshots and page source attachments across all nesting levels.

Track captured failure throwables using a WeakHashMap-backed set and verify
the exception and its cause chain before capturing attachments, preventing
duplicate attachments for the same failure while preserving attachments for
distinct errors.
@CLAassistant

CLAassistant commented Nov 7, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@baev baev added the pr:bug Something isn't working label Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

pr:bug Something isn't working

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AllureSelenide attaches Screenshot and Page source once per nesting level of SelenideLogger.step

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@chiragbitoni @CLAassistant @baev
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.