Skip to content

[Testing] Update iOS UITest baseline screenshots for ACES CI environment#33910

Merged
PureWeen merged 8 commits intodotnet:mainfrom
TamilarasanSF4853:fix-ios-flaky-uitests-screenshot
Feb 9, 2026
Merged

[Testing] Update iOS UITest baseline screenshots for ACES CI environment#33910
PureWeen merged 8 commits intodotnet:mainfrom
TamilarasanSF4853:fix-ios-flaky-uitests-screenshot

Conversation

@TamilarasanSF4853
Copy link
Contributor

@TamilarasanSF4853 TamilarasanSF4853 commented Feb 5, 2026

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

@dotnet-policy-service dotnet-policy-service bot added community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration labels Feb 5, 2026
@sheiksyedm sheiksyedm added the area-testing Unit tests, device tests label Feb 5, 2026
@sheiksyedm sheiksyedm marked this pull request as ready for review February 5, 2026 15:09
Copilot AI review requested due to automatic review settings February 5, 2026 15:09
@sheiksyedm
Copy link
Contributor

/azp run maui-pr-uitests

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
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

This pull request updates iOS UITest baseline screenshots following the ACES CI pool migration (PR #33790). The failures were caused by minor rendering differences between macOS versions (Sequoia/macOS 15 vs Tahoe/macOS 26).

Changes:

  • Updated baseline screenshots for 14 iOS test cases to match new ACES CI environment rendering
  • Added keyboard cropping for iOS tests to handle keyboard-related visual differences
  • Added macOS version checks to ignore tests on macOS < 26 due to known visual differences

Reviewed changes

Copilot reviewed 10 out of 24 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
ValidateTableViewTitles.png Updated baseline screenshot for new ACES environment
TextInEditorShouldScroll.png Updated baseline screenshot for new ACES environment
PageShouldNotScroll.png Updated baseline screenshot for new ACES environment
LargeTitleDisplayWorks.png Updated baseline screenshot for new ACES environment
EditorShouldNotMoveToBottom.png Updated baseline screenshot for new ACES environment
Issue27750.cs Added iOS-specific keyboard cropping
Issue26754.cs Added macOS version check to ignore test on macOS < 26
Issue25200.cs Added macOS version checks for ActionSheet tests
Issue24496.cs Added keyboard cropping for Entry7 test
Issue23158.cs Added iOS-specific keyboard cropping
Issue22715.cs Added keyboard cropping
Issue19500.cs Added macOS version check to ignore test on macOS < 26
Issue17123.cs Added macOS version check to ignore test on macOS < 26
Issue12156.cs Added macOS version check to ignore test on macOS < 26
ContentPageFeatureTests.cs Added iOS-specific keyboard cropping for 3 tests

Comment on lines +239 to +243
#if IOS
VerifyScreenshot(cropBottom: 1200);
#else
VerifyScreenshot(tolerance: 0.5, retryTimeout: TimeSpan.FromSeconds(2));
#endif
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

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

The inline #if IOS directives violate the codebase convention of hiding platform-specific logic behind extension methods. According to the UI Testing Guidelines, "Do NOT use #if ANDROID, #if IOS, etc. directly in test methods. Platform-specific behavior must be hidden behind extension methods for readability."

Consider creating an extension method that internally handles the iOS-specific cropping, making the test code cleaner and more maintainable.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +21 to +25
#if IOS
VerifyScreenshot(cropBottom:1400);
#else
VerifyScreenshot();
#endif
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

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

The inline #if IOS directives violate the codebase convention of hiding platform-specific logic behind extension methods. According to the UI Testing Guidelines, "Do NOT use #if ANDROID, #if IOS, etc. directly in test methods. Platform-specific behavior must be hidden behind extension methods for readability."

Consider creating an extension method like VerifyScreenshotWithKeyboardCrop() that internally handles the iOS-specific cropping, making the test code cleaner and more maintainable.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +32 to +36
#if IOS
VerifyScreenshot(cropBottom: 1400);
#else
VerifyScreenshot();
#endif
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

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

The inline #if IOS directives violate the codebase convention of hiding platform-specific logic behind extension methods. According to the UI Testing Guidelines, "Do NOT use #if ANDROID, #if IOS, etc. directly in test methods. Platform-specific behavior must be hidden behind extension methods for readability."

Consider creating an extension method that internally handles the iOS-specific cropping, making the test code cleaner and more maintainable.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +184 to +188
#if IOS
VerifyScreenshot(cropBottom: 1200);
#else
VerifyScreenshot(tolerance: 0.5, retryTimeout: TimeSpan.FromSeconds(2));
#endif
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

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

The inline #if IOS directives violate the codebase convention of hiding platform-specific logic behind extension methods. According to the UI Testing Guidelines, "Do NOT use #if ANDROID, #if IOS, etc. directly in test methods. Platform-specific behavior must be hidden behind extension methods for readability."

Consider creating an extension method that internally handles the iOS-specific cropping, making the test code cleaner and more maintainable.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +211 to +215
#if IOS
VerifyScreenshot(cropBottom: 1200);
#else
VerifyScreenshot(tolerance: 0.5, retryTimeout: TimeSpan.FromSeconds(2));
#endif
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

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

The inline #if IOS directives violate the codebase convention of hiding platform-specific logic behind extension methods. According to the UI Testing Guidelines, "Do NOT use #if ANDROID, #if IOS, etc. directly in test methods. Platform-specific behavior must be hidden behind extension methods for readability."

Consider creating an extension method that internally handles the iOS-specific cropping, making the test code cleaner and more maintainable.

Copilot generated this review using guidance from repository custom instructions.
@sheiksyedm
Copy link
Contributor

/azp run maui-pr-uitests

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@sheiksyedm
Copy link
Contributor

/azp run maui-pr-uitests

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@sheiksyedm
Copy link
Contributor

/rebase

@TamilarasanSF4853 TamilarasanSF4853 force-pushed the fix-ios-flaky-uitests-screenshot branch from d4fe834 to 02f849b Compare February 9, 2026 06:47
@sheiksyedm
Copy link
Contributor

/azp run maui-pr-uitests

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

Choose a reason for hiding this comment

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

@sheiksyedm @TamilarasanSF4853 is this expected this difference?

Copy link
Contributor

Choose a reason for hiding this comment

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

Each row is a standard UITableViewCell displaying the page title, which is automatically created by the native iOS framework when there are more tabs. The change in spacing is likely related to native behavior on the latest macOS environment and is not caused by any recent fix. @PureWeen

image

@PureWeen PureWeen merged commit 6d41d0c into dotnet:main Feb 9, 2026
147 of 150 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-testing Unit tests, device tests community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants