Skip to content

[Components][E2E] Stabilize virtualization test setup after scroll#66194

Open
ilonatommy wants to merge 1 commit intomainfrom
fix/servervirt-setup-stabilization
Open

[Components][E2E] Stabilize virtualization test setup after scroll#66194
ilonatommy wants to merge 1 commit intomainfrom
fix/servervirt-setup-stabilization

Conversation

@ilonatommy
Copy link
Copy Markdown
Member

Summary

  • stabilize the setup phase for the server virtualization prepend/append E2E tests
  • keep the actual viewport-preservation assertions unchanged
  • wait until the virtualized window has really advanced past overscan before starting the real check

Why

The intermittent failure has been happening in the preparation stage, where the test sets scrollTop = 5000 and then immediately expects the rendered range to have moved beyond the overscan window. In server mode that can race with the async virtualization update, so the test can fail before it even reaches the real prepend assertion.

Test

dotnet test .\src\Components\test\E2ETest\Microsoft.AspNetCore.Components.E2ETests.csproj --no-build --no-restore --filter "FullyQualifiedName~ServerVirtualizationTest.DynamicContent_"

The flaky server virtualization failure happens in the setup phase that scrolls past the overscan window and assumes the rendered range has already caught up. Add a helper that reapplies the target offset and waits for the virtualized window to converge before the prepend/append assertions begin.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ilonatommy ilonatommy requested a review from a team as a code owner April 7, 2026 10:29
Copilot AI review requested due to automatic review settings April 7, 2026 10:29
@github-actions github-actions bot added the area-blazor Includes: Blazor, Razor Components label Apr 7, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Stabilizes the server-side virtualization dynamic content E2E tests by making the “scroll past overscan” setup phase wait for the rendered window to actually advance before running the viewport-preservation assertions.

Changes:

  • Added a shared helper to scroll to a target offset and poll until the first rendered item index advances beyond a threshold, then wait for scroll stabilization.
  • Updated the prepend/append dynamic content virtualization tests to use the new stabilized scroll helper (keeping the core assertions unchanged).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-blazor Includes: Blazor, Razor Components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants