-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[Testing] Feature matrix UITest Cases for ScrollView with LayoutOptions #31122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Testing] Feature matrix UITest Cases for ScrollView with LayoutOptions #31122
Conversation
|
Hey there @@NafeelaNazhir! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
There was a problem hiding this 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 introduces a comprehensive feature matrix test system for testing ScrollView layout options and behavior. The PR adds a new interactive testing interface that allows users to configure various layout options for ScrollView child layouts (StackLayout and Grid) and validate their behavior through automated UI tests.
Key changes:
- Adds an interactive test host app with configurable layout options for ScrollView child layouts
- Implements comprehensive automated UI tests covering 48 different layout scenarios
- Provides proper separation between UI configuration and test validation logic
Reviewed Changes
Copilot reviewed 7 out of 103 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| ScrollViewWithLayoutOptionsFeatureTests.cs | Complete test suite with 48 UI tests covering all ScrollView layout option combinations |
| LayoutViewModel.cs | View model for managing layout configuration state with property change notifications |
| LayoutOptionsPage.xaml | Configuration UI for selecting horizontal/vertical layout options, dimensions, and scroll orientation |
| LayoutOptionsPage.xaml.cs | Event handling logic for the options configuration page |
| LayoutControlPage.xaml | Main test page displaying ScrollView with configurable content layouts |
| LayoutControlPage.xaml.cs | Navigation and content generation logic for the main test interface |
| CorePageView.cs | Navigation entry point addition for the new feature matrix page |
|
|
||
| private async void NavigateToOptionsPage_Clicked(object sender, EventArgs e) | ||
| { | ||
| BindingContext = _viewModel = new LayoutViewModel(); |
Copilot
AI
Aug 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creating a new LayoutViewModel instance discards the existing view model state. This could lead to unexpected behavior when navigating to options page. Consider preserving the existing view model state or explicitly resetting only the necessary properties.
| BindingContext = _viewModel = new LayoutViewModel(); |
| App.WaitForElement(Height300); | ||
| App.Tap(Height300); | ||
| App.WaitForElement(OrientationHorizontal); | ||
| App.Tap(OrientationHorizontal); |
Copilot
AI
Aug 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The order of UI interactions is inconsistent compared to other tests. In this test, Height300 is tapped before OrientationHorizontal, while other similar tests tap OrientationHorizontal first. This inconsistency could make the tests harder to maintain and may cause different UI states.
| App.WaitForElement(Height300); | |
| App.Tap(Height300); | |
| App.WaitForElement(OrientationHorizontal); | |
| App.Tap(OrientationHorizontal); | |
| App.WaitForElement(OrientationHorizontal); | |
| App.Tap(OrientationHorizontal); | |
| App.WaitForElement(Height300); | |
| App.Tap(Height300); |
|
/azp run MAUI-UITests-public |
|
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jsuarezruiz I have added the base images in the latest commit. |
|
/azp run MAUI-UITests-public |
|
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
956eb20 to
5e231f5
Compare
Hi @jsuarezruiz , This test case appears to be unrelated to the changes in this PR. I have verified it locally in this branch, and it passes as expected. Kindly review and share your concerns.
|
|
/azp run MAUI-UITests-public |
|
Azure Pipelines successfully started running 1 pipeline(s). |





This pull request introduces a new feature matrix page to the test host app, allowing users to interactively test and configure layout options for ScrollView child layouts. The changes add a new
LayoutControlPagewith a detailed UI for adjusting layout options, as well as the necessary supporting view model and navigation logic.New Feature Matrix Page for ScrollView Layout Options:
CorePageView.cs, making the new test page accessible from the app's main navigation.UI and Navigation for Layout Testing:
LayoutControlPage.xamland its code-behind, which provide a UI for displaying aScrollViewwhose content and layout can be changed between a stack layout and a grid, as well as navigation to an options page for further configuration. [1] [2]LayoutOptionsPage.xamland its code-behind, presenting a UI for selecting horizontal/vertical layout options, width/height requests, and scroll orientation, which updates the view model accordingly. [1] [2]Issues Fixed
Fixes #30698
Screen.Recording.2025-08-11.at.10.48.50.AM.mov