Skip to content

Update iOS UITest baseline screenshots for ACES CI environment#33842

Closed
PureWeen wants to merge 1 commit into
mainfrom
fix/flaky-uitests-screenshot-tolerance
Closed

Update iOS UITest baseline screenshots for ACES CI environment#33842
PureWeen wants to merge 1 commit into
mainfrom
fix/flaky-uitests-screenshot-tolerance

Conversation

@PureWeen

@PureWeen PureWeen commented Feb 2, 2026

Copy link
Copy Markdown
Member

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Description

The iOS 18.4 UITests have been consistently failing on CI since the switch to ACES agent pools (PR #33790). The failures are all screenshot comparison failures with small pixel differences (0.7% - 7.7%), not functional failures.

Root Cause Analysis

After investigating builds 1271888 (passing, Jan 29) vs 1274940+ (failing, Jan 31+), the key difference is:

Property Passing Build Failing Build
Agent Pool MAUI (BOT-0251.Sequoia.arm64) AcesShared (ACES_VM_SharedPool_Tahoe)
macOS Version 24.6.0 (Sequoia/macOS 15) 25.2.0 (Tahoe/macOS 26)
Architecture ARM64 ARM64

The rendering differences are due to minor font anti-aliasing and layout variations between macOS versions.

Solution

Updated the baseline screenshots to match the new ACES CI environment rendering. The new baselines were generated on the ACES pool and downloaded from build 1276073.

Updated Baselines

  • ActionSheetWithLongTitleShouldDisplayProperly.png
  • ActionSheetWithManyActionsShouldDisplayProperly.png
  • ActionSheetWithSixActionsShouldDisplayProperly.png
  • ContentPage_HideSoftinput_WithPaddingAndBackground.png
  • ContentPage_HideSoftinput_WithRTLAndPadding.png
  • ContentPage_Title_WithPaddingAndHideSoftInput.png
  • EditorShouldNotMoveToBottom.png
  • LargeTitleDisplayWorks.png
  • PageShouldNotScroll.png
  • PickerNewKeyboardIsAboveKeyboard_Entry7.png
  • SwitchTrackColorTest.png
  • ValidateEntryClearButtonVisibilityBehavior.png
  • ValidateTableViewTitles.png
  • VerifyTabbedPageMenuItemTextColor.png

Copilot AI review requested due to automatic review settings February 2, 2026 17:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR relaxes screenshot comparison strictness in iOS UI tests to address consistent false-negative failures caused by minor rendering differences between CI macOS environments.

Changes:

  • Add tolerance parameters to multiple iOS UI tests that rely on VerifyScreenshot/VerifyScreenshotOrSetException.
  • Use higher tolerance (8%) for ActionSheet and TabbedPage menu tests with larger observed pixel differences.
  • Document the use of tolerance in keyboard-related screenshot helper methods.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue27750.cs Adds 2% screenshot tolerance to EditorShouldNotMoveToBottom UI test.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue26754.cs Adds 8% screenshot tolerance to VerifyTabbedPageMenuItemTextColor test.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue25200.cs Adds 8% screenshot tolerance to ActionSheet verification helper.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue24496.cs Adds 2% tolerance to picker/entry keyboard positioning screenshot checks.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue23158.cs Adds 2% tolerance to entry clear button visibility screenshot check.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue22715.cs Adds 2% tolerance to page scroll behavior screenshot check.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue19500.cs Adds 2% tolerance to editor scrolling behavior screenshot check.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue17123.cs Adds 2% tolerance to table view titles screenshot check.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue12156.cs Adds 2.5% tolerance to large title display screenshot check.
src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/EntryFeatureTests.cs Applies 2% tolerance (with cropping) to entry feature keyboard-related screenshot helpers and documents rationale.
src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/EditorFeatureTests.cs Applies 2% tolerance (with cropping) to editor feature keyboard-related screenshot helpers and documents rationale.

@PureWeen PureWeen force-pushed the fix/flaky-uitests-screenshot-tolerance branch from 9e6a84e to f4c2650 Compare February 2, 2026 19:26
@PureWeen

PureWeen commented Feb 2, 2026

Copy link
Copy Markdown
Member Author

/azp run maui-pr-uitests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command.

@PureWeen PureWeen changed the title Add tolerance to flaky iOS UITests screenshot comparisons Update iOS UITest baseline screenshots for ACES CI environment Feb 2, 2026
@PureWeen

PureWeen commented Feb 2, 2026

Copy link
Copy Markdown
Member Author

/azp run maui-pr-uitests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@PureWeen PureWeen force-pushed the fix/flaky-uitests-screenshot-tolerance branch from f4c2650 to c97b667 Compare February 2, 2026 23:07
@PureWeen

PureWeen commented Feb 2, 2026

Copy link
Copy Markdown
Member Author

/azp run maui-pr-uitests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@PureWeen

PureWeen commented Feb 2, 2026

Copy link
Copy Markdown
Member Author

/azp run maui-pr-uitests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

The iOS 18.4 UITests have been failing on CI since the switch to ACES
agent pools (PR #33790). The failures are screenshot comparison
failures due to minor rendering differences between macOS 15 (Sequoia)
and macOS 26 (Tahoe).

This updates the baseline screenshots to match the new CI environment.

Updated baselines:
- ActionSheetWithLongTitleShouldDisplayProperly.png
- ActionSheetWithManyActionsShouldDisplayProperly.png
- ActionSheetWithSixActionsShouldDisplayProperly.png
- ContentPage_HideSoftinput_WithPaddingAndBackground.png
- ContentPage_HideSoftinput_WithRTLAndPadding.png
- ContentPage_Title_WithPaddingAndHideSoftInput.png
- EditorShouldNotMoveToBottom.png
- LargeTitleDisplayWorks.png
- PageShouldNotScroll.png
- PickerNewKeyboardIsAboveKeyboard_Entry7.png
- SwitchTrackColorTest.png
- ValidateEntryClearButtonVisibilityBehavior.png
- ValidateTableViewTitles.png
- VerifyTabbedPageMenuItemTextColor.png
@PureWeen PureWeen force-pushed the fix/flaky-uitests-screenshot-tolerance branch from c97b667 to 268972c Compare February 3, 2026 00:48
@PureWeen

PureWeen commented Feb 3, 2026

Copy link
Copy Markdown
Member Author

/azp run maui-pr-uitests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@PureWeen

PureWeen commented Feb 3, 2026

Copy link
Copy Markdown
Member Author

/azp run maui-pr-uitests, maui-pr-devicetests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@PureWeen PureWeen closed this Feb 6, 2026
PureWeen pushed a commit that referenced this pull request Feb 9, 2026
…ent (#33910)

This pull request addresses the test case failures on iOS after the ACES
pool migration in this PR: #33790.

- Added cropping for the test cases that failed due to keyboard-related
issues.
- Ignored some test cases on iOS if the tests run on macOS 15.

### Addressed Test cases:

- ActionSheetWithLongTitleShouldDisplayProperly
- ActionSheetWithManyActionsShouldDisplayProperly
- ActionSheetWithSixActionsShouldDisplayProperly
- ContentPage_HideSoftinput_WithPaddingAndBackground
- ContentPage_HideSoftinput_WithRTLAndPadding
- ContentPage_Title_WithPaddingAndHideSoftInput
- EditorShouldNotMoveToBottom
- LargeTitleDisplayWorks
- PageShouldNotScroll
- PickerNewKeyboardIsAboveKeyboard
- TextInEditorShouldScroll
- ValidateEntryClearButtonVisibilityBehavior
- ValidateTableViewTitles
- VerifyTabbedPageMenuItemTextColor

Closes : #33842
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 9, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants