From 8542bbdd8d96d01049ca0aee4c9c50cad74e4400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Su=C3=A1rez?= Date: Fri, 16 Feb 2024 12:10:00 +0100 Subject: [PATCH 1/2] Added categories to appium tests --- .../tests/UITests/Tests/BorderUITests.cs | 4 +- .../tests/UITests/Tests/ButtonUITests.cs | 1 + .../UITests/Tests/CarouselViewUITests.cs | 2 + .../tests/UITests/Tests/CheckBoxUITests.cs | 1 + .../tests/UITests/Tests/DragAndDropUITests.cs | 6 ++ .../tests/UITests/Tests/EditorUITests.cs | 1 + .../UITests/Tests/GestureRecognizerUITests.cs | 2 + .../tests/UITests/Tests/Issues/Issue12211.cs | 1 + .../tests/UITests/Tests/Issues/Issue14257.cs | 1 + .../tests/UITests/Tests/Issues/Issue14557.cs | 1 + .../tests/UITests/Tests/Issues/Issue15330.cs | 1 + .../tests/UITests/Tests/Issues/Issue15357.cs | 1 + .../tests/UITests/Tests/Issues/Issue15826.cs | 1 + .../tests/UITests/Tests/Issues/Issue16094.cs | 1 + .../tests/UITests/Tests/Issues/Issue16320.cs | 1 + .../tests/UITests/Tests/Issues/Issue16321.cs | 2 + .../tests/UITests/Tests/Issues/Issue16386.cs | 1 + .../tests/UITests/Tests/Issues/Issue16499.cs | 1 + .../tests/UITests/Tests/Issues/Issue16561.cs | 1 + .../tests/UITests/Tests/Issues/Issue16787.cs | 1 + .../tests/UITests/Tests/Issues/Issue17022.cs | 4 +- .../tests/UITests/Tests/Issues/Issue17347.cs | 1 + .../tests/UITests/Tests/Issues/Issue17366.cs | 1 + .../tests/UITests/Tests/Issues/Issue17400.cs | 1 + .../tests/UITests/Tests/Issues/Issue17453.cs | 1 + .../tests/UITests/Tests/Issues/Issue17490.cs | 1 + .../tests/UITests/Tests/Issues/Issue17610.cs | 1 + .../tests/UITests/Tests/Issues/Issue17789.cs | 1 + .../tests/UITests/Tests/Issues/Issue18111.cs | 1 + .../tests/UITests/Tests/Issues/Issue18282.cs | 1 + .../tests/UITests/Tests/Issues/Issue18617.cs | 1 + .../tests/UITests/Tests/Issues/Issue18623.cs | 1 + .../tests/UITests/Tests/Issues/Issue18645.cs | 1 + .../tests/UITests/Tests/Issues/Issue18647.cs | 1 + .../tests/UITests/Tests/Issues/Issue18675.cs | 1 + .../tests/UITests/Tests/Issues/Issue18706.cs | 1 + .../tests/UITests/Tests/Issues/Issue18740.cs | 1 + .../tests/UITests/Tests/Issues/Issue18751.cs | 1 + .../tests/UITests/Tests/Issues/Issue18754.cs | 1 + .../tests/UITests/Tests/Issues/Issue18896.cs | 1 + .../tests/UITests/Tests/Issues/Issue19283.cs | 1 + .../tests/UITests/Tests/Issues/Issue19329.cs | 1 + .../tests/UITests/Tests/Issues/Issue19379.cs | 1 + .../tests/UITests/Tests/Issues/Issue19657.cs | 1 + .../tests/UITests/Tests/Issues/Issue19956.cs | 3 +- .../tests/UITests/Tests/Issues/Issue3525.cs | 1 + .../tests/UITests/Tests/Issues/Issue5191.cs | 1 + .../tests/UITests/Tests/Issues/Issue5555.cs | 1 + .../tests/UITests/Tests/Issues/Issue5924.cs | 1 + .../UITests/Tests/Issues/RefreshViewTests.cs | 1 + .../Issues/SoftInputExtensionsPageTests.cs | 1 + .../tests/UITests/Tests/Issues/XFIssue2681.cs | 1 + .../tests/UITests/Tests/LabelUITests.cs | 1 + .../tests/UITests/Tests/RadioButtonUITests.cs | 1 + .../tests/UITests/Tests/ScrollViewUITests.cs | 4 ++ .../tests/UITests/Tests/SliderUITests.cs | 1 + .../tests/UITests/Tests/SwipeViewUITests.cs | 2 + .../tests/UITests/UITestCategories.cs | 68 +++++++++++++++++++ 58 files changed, 141 insertions(+), 4 deletions(-) create mode 100644 src/Controls/tests/UITests/UITestCategories.cs diff --git a/src/Controls/tests/UITests/Tests/BorderUITests.cs b/src/Controls/tests/UITests/Tests/BorderUITests.cs index 56885702c2d4..58b4d707ce2a 100644 --- a/src/Controls/tests/UITests/Tests/BorderUITests.cs +++ b/src/Controls/tests/UITests/Tests/BorderUITests.cs @@ -1,4 +1,5 @@ -using UITest.Appium; +using NUnit.Framework; +using UITest.Appium; using UITest.Core; namespace Microsoft.Maui.AppiumTests @@ -26,6 +27,7 @@ protected override void FixtureTeardown() // TODO: Enable this as a test once fully working //[Test] + //[Category(UITestCategories.Border)] public void BordersWithVariousShapes() { App.WaitForElement("TargetView"); diff --git a/src/Controls/tests/UITests/Tests/ButtonUITests.cs b/src/Controls/tests/UITests/Tests/ButtonUITests.cs index fbee87eab580..cd0ae371c205 100644 --- a/src/Controls/tests/UITests/Tests/ButtonUITests.cs +++ b/src/Controls/tests/UITests/Tests/ButtonUITests.cs @@ -20,6 +20,7 @@ protected override void NavigateToGallery() } [Test] + [Category(UITestCategories.Button)] public void Clicked() { var remote = new EventViewContainerRemote(UITestContext, Test.Button.Clicked); diff --git a/src/Controls/tests/UITests/Tests/CarouselViewUITests.cs b/src/Controls/tests/UITests/Tests/CarouselViewUITests.cs index cac5827cd7ac..e9ebf60c13d6 100644 --- a/src/Controls/tests/UITests/Tests/CarouselViewUITests.cs +++ b/src/Controls/tests/UITests/Tests/CarouselViewUITests.cs @@ -26,6 +26,7 @@ protected override void FixtureTeardown() } [Test] + [Category(UITestCategories.CarouselView)] public async Task CarouselViewSetPosition() { if (Device != TestDevice.Android) @@ -42,6 +43,7 @@ public async Task CarouselViewSetPosition() } [Test] + [Category(UITestCategories.CarouselView)] public void CarouselViewGoToNextCurrentItem() { if (Device != TestDevice.Android) diff --git a/src/Controls/tests/UITests/Tests/CheckBoxUITests.cs b/src/Controls/tests/UITests/Tests/CheckBoxUITests.cs index 0a0131af679a..5aa94d622113 100644 --- a/src/Controls/tests/UITests/Tests/CheckBoxUITests.cs +++ b/src/Controls/tests/UITests/Tests/CheckBoxUITests.cs @@ -18,6 +18,7 @@ protected override void NavigateToGallery() } [Test] + [Category(UITestCategories.CheckBox)] public override void _IsEnabled() { if (Device == TestDevice.Mac || diff --git a/src/Controls/tests/UITests/Tests/DragAndDropUITests.cs b/src/Controls/tests/UITests/Tests/DragAndDropUITests.cs index 0b3ce6fa8636..1e13aef407c4 100644 --- a/src/Controls/tests/UITests/Tests/DragAndDropUITests.cs +++ b/src/Controls/tests/UITests/Tests/DragAndDropUITests.cs @@ -27,6 +27,7 @@ protected override void FixtureTeardown() } [Test] + [Category(UITestCategories.Gestures)] public void DragEvents() { App.WaitForElement("TargetView"); @@ -51,6 +52,7 @@ public void DragEvents() } [Test] + [Category(UITestCategories.Gestures)] public void DragAndDropBetweenLayouts() { App.WaitForElement("TargetView"); @@ -80,6 +82,7 @@ public void DragAndDropBetweenLayouts() } [Test] + [Category(UITestCategories.Gestures)] public void PlatformDragEventArgs() { App.WaitForElement("TargetView"); @@ -164,6 +167,7 @@ public void PlatformDragEventArgs() } [Test] + [Category(UITestCategories.Gestures)] public void DragStartEventCoordinates() { App.WaitForElement("TargetView"); @@ -197,6 +201,7 @@ public void DragStartEventCoordinates() } [Test] + [Category(UITestCategories.Gestures)] public void DragEventCoordinates() { App.WaitForElement("TargetView"); @@ -235,6 +240,7 @@ public void DragEventCoordinates() } [Test] + [Category(UITestCategories.Gestures)] public void DropEventCoordinates() { App.WaitForElement("TargetView"); diff --git a/src/Controls/tests/UITests/Tests/EditorUITests.cs b/src/Controls/tests/UITests/Tests/EditorUITests.cs index 22a8926160e7..0239dfe53e0a 100644 --- a/src/Controls/tests/UITests/Tests/EditorUITests.cs +++ b/src/Controls/tests/UITests/Tests/EditorUITests.cs @@ -18,6 +18,7 @@ protected override void NavigateToGallery() } [Test] + [Category(UITestCategories.Gestures)] public override void _IsEnabled() { if (Device == TestDevice.Mac || diff --git a/src/Controls/tests/UITests/Tests/GestureRecognizerUITests.cs b/src/Controls/tests/UITests/Tests/GestureRecognizerUITests.cs index 7dbc2e2678a3..8f227d42f3b0 100644 --- a/src/Controls/tests/UITests/Tests/GestureRecognizerUITests.cs +++ b/src/Controls/tests/UITests/Tests/GestureRecognizerUITests.cs @@ -26,6 +26,7 @@ protected override void FixtureTeardown() } [Test] + [Category(UITestCategories.Gestures)] public void PointerGestureTest() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.iOS }, @@ -45,6 +46,7 @@ public void PointerGestureTest() } [Test] + [Category(UITestCategories.Gestures)] public void DoubleTap() { App.WaitForElement("TargetView"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue12211.cs b/src/Controls/tests/UITests/Tests/Issues/Issue12211.cs index d3717d13dde3..da9144f00cba 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue12211.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue12211.cs @@ -15,6 +15,7 @@ public Issue12211(TestDevice device) : base(device) public override string Issue => "[Android] BoxView Opacity not working"; [Test] + [Category(UITestCategories.BoxView)] public void WhenChangingBoxViewOpacityThenValueIsCorrectlySet() { App.WaitForElement(buttonId); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue14257.cs b/src/Controls/tests/UITests/Tests/Issues/Issue14257.cs index 24182243db7a..67fae153df46 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue14257.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue14257.cs @@ -11,6 +11,7 @@ public Issue14257(TestDevice device) : base(device) { } public override string Issue => "VerticalStackLayout inside Scrollview: Button at the bottom not clickable on IOS"; [Test] + [Category(UITestCategories.ScrollView)] public void ResizeScrollViewAndTapButtonTest() { // Tapping the Resize button will change the height of the ScrollView content diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue14557.cs b/src/Controls/tests/UITests/Tests/Issues/Issue14557.cs index fbc12bea4a1f..40c5629c27e6 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue14557.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue14557.cs @@ -10,6 +10,7 @@ public Issue14557(TestDevice device) : base(device) { } public override string Issue => "CollectionView header and footer not displaying on Windows"; [Test] + [Category(UITestCategories.CollectionView)] public void HeaderAndFooterRender() { App.WaitForElement("collectionView"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue15330.cs b/src/Controls/tests/UITests/Tests/Issues/Issue15330.cs index a1e96fa1c22d..912870e2d617 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue15330.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue15330.cs @@ -13,6 +13,7 @@ public Issue15330(TestDevice device) public override string Issue => "Grid wrong Row height"; [Test] + [Category(UITestCategories.Layout)] public void Issue15330Test() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.iOS }, diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue15357.cs b/src/Controls/tests/UITests/Tests/Issues/Issue15357.cs index 0a415c15ff8c..3b2670ef6925 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue15357.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue15357.cs @@ -15,6 +15,7 @@ public Issue15357(TestDevice device) : base(device) public override string Issue => "IsVisible binding not showing items again if Shadow is set"; [Test] + [Category(UITestCategories.ListView)] public void WhenTapButtonThenListViewsChangesVisibility() { App.WaitForElement(buttonId); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue15826.cs b/src/Controls/tests/UITests/Tests/Issues/Issue15826.cs index c6c535bb0f9a..4f2ae15a15f1 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue15826.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue15826.cs @@ -15,6 +15,7 @@ public Issue15826(TestDevice device) : base(device) public override string Issue => "ListView visibility doesn't work well"; [Test] + [Category(UITestCategories.ListView)] public void WhenTapButtonThenListViewsChangesVisibility() { App.WaitForElement(buttonId); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue16094.cs b/src/Controls/tests/UITests/Tests/Issues/Issue16094.cs index 5f75dd822313..91a1b430e712 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue16094.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue16094.cs @@ -13,6 +13,7 @@ public Issue16094(TestDevice device) public override string Issue => "Shadows don't respect control shape"; [Test] + [Category(UITestCategories.Editor)] public void Issue16094Test() { App.WaitForElement("EditorControl"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue16320.cs b/src/Controls/tests/UITests/Tests/Issues/Issue16320.cs index c6ba967dcbbe..fae11c7ecf77 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue16320.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue16320.cs @@ -13,6 +13,7 @@ public Issue16320(TestDevice device) public override string Issue => "Adding an item to a CollectionView with linear layout crashes"; [Test] + [Category(UITestCategories.CollectionView)] public void Issue16320Test() { // TODO: It looks like this test has never passed on Android, failing with diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue16321.cs b/src/Controls/tests/UITests/Tests/Issues/Issue16321.cs index 8c1e2bee2243..0c02e35076d4 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue16321.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue16321.cs @@ -11,6 +11,7 @@ public Issue16321(TestDevice device) : base(device) { } public override string Issue => "Alerts Open on top of current presented view"; [Test] + [Category(UITestCategories.DisplayAlert)] public void OpenAlertWithModals() { this.IgnoreIfPlatforms(new[] @@ -23,6 +24,7 @@ public void OpenAlertWithModals() } [Test] + [Category(UITestCategories.DisplayAlert)] public void OpenAlertWithNewUIWindow() { this.IgnoreIfPlatforms(new[] diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue16386.cs b/src/Controls/tests/UITests/Tests/Issues/Issue16386.cs index 46928bd43093..66ad7106910c 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue16386.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue16386.cs @@ -14,6 +14,7 @@ public Issue16386(TestDevice device) public override string Issue => "Process the hardware enter key as \"Done\""; [Test] + [Category(UITestCategories.Entry)] public void HittingEnterKeySendsDone() { this.IgnoreIfPlatforms(new[] diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue16499.cs b/src/Controls/tests/UITests/Tests/Issues/Issue16499.cs index ec3476acc67e..67f651e775b2 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue16499.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue16499.cs @@ -13,6 +13,7 @@ public Issue16499(TestDevice device) : base(device) public override string Issue => "Crash when using NavigationPage.TitleView and Restarting App"; [Test] + [Category(UITestCategories.Navigation)] public void AppDoesntCrashWhenReusingSameTitleView() { App.WaitForElement("SuccessLabel"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue16561.cs b/src/Controls/tests/UITests/Tests/Issues/Issue16561.cs index be555e5b8e08..87886b62e1b2 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue16561.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue16561.cs @@ -21,6 +21,7 @@ public Issue16561(TestDevice device) : base(device) public override string Issue => "Quick single taps on Android have wrong second tap location"; [Test] + [Category(UITestCategories.Label)] public void TapTwoPlacesQuickly() { // https://github.com/dotnet/maui/issues/17435 diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue16787.cs b/src/Controls/tests/UITests/Tests/Issues/Issue16787.cs index 4d7cb6999a79..8a2a53269e99 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue16787.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue16787.cs @@ -13,6 +13,7 @@ public Issue16787(TestDevice device) : base(device) public override string Issue => "CollectionView runtime binding errors when loading the ItemSource asynchronously"; [Test] + [Category(UITestCategories.CollectionView)] public void CollectionViewBindingContextOnlyChangesOnce() { Assert.AreEqual("1", App.WaitForElement("LabelBindingCount").GetText()); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17022.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17022.cs index cdbdd1d39d8d..9de8d7537e7f 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17022.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17022.cs @@ -14,7 +14,8 @@ public Issue17022(TestDevice device) // TODO: Add shell navigation bar tests when we can call shell in UITest [Test] - [TestCase("NewNavigationPageButton", false)] + [Category(UITestCategories.Navigation)] + [TestCase("NewNavigationPageButton", false)] [TestCase("NewNavigationPageTransparentButton", false)] [TestCase("NewNavigationPageTranslucentButton", false)] [TestCase("NewNavigationPageTransparentTranslucentButton", false)] @@ -69,7 +70,6 @@ public void Issue17022Test(string testButtonID, bool isTopOfScreen, bool require { App.WaitForElement("PopPageButton").Click(); } - } } } diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17347.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17347.cs index 5934779f73e1..2c0db910e5cc 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17347.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17347.cs @@ -13,6 +13,7 @@ public Issue17347(TestDevice device) : base(device) public override string Issue => "Setting a new TitleView on an already created page crashes iOS"; [Test] + [Category(UITestCategories.Page)] public void AppDoesntCrashWhenSettingNewTitleViewOnExistingPage() { try diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17366.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17366.cs index 2a0a32831863..86d9bf45efe6 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17366.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17366.cs @@ -13,6 +13,7 @@ public Issue17366(TestDevice device) : base(device) public override string Issue => "Wrong gray color using transparent in iOS gradients"; [Test] + [Category(UITestCategories.Brush)] public void Issue17366Test() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.Windows }, diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17400.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17400.cs index 87e9d66a1f6e..3c4ce40c42d1 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17400.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17400.cs @@ -13,6 +13,7 @@ public Issue17400(TestDevice device) public override string Issue => "CollectionView wrong Layout"; [Test] + [Category(UITestCategories.CollectionView)] public void Issue17400Test() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.iOS, TestDevice.Android, TestDevice.Mac }, diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17453.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17453.cs index 95037f397973..79285278dfeb 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17453.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17453.cs @@ -11,6 +11,7 @@ public Issue17453(TestDevice device) : base(device) { } public override string Issue => "Clear Entry text tapping the clear button not working"; [Test] + [Category(UITestCategories.Entry)] public void EntryClearButtonWorksEntryDoesntClearWhenNotClickingOnClear() { // https://github.com/dotnet/maui/issues/17453 diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17490.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17490.cs index 2f8cec39fda3..5a1eee49bb30 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17490.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17490.cs @@ -13,6 +13,7 @@ public Issue17490(TestDevice device) : base(device) public override string Issue => "Crash using Pinvoke.SetParent to create Window as Child"; [Test] + [Category(UITestCategories.Window)] public void AppDoesntCrashWhenOpeningWinUIWindowParentedToCurrentWindow() { this.IgnoreIfPlatforms(new[] diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17610.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17610.cs index cffd4f613741..947133bb7081 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17610.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17610.cs @@ -16,6 +16,7 @@ public Issue17610(TestDevice device) : base(device) public override string Issue => "Cancelling Refresh With Slow Scroll Leaves Refresh Icon Visible"; [Test] + [Category(UITestCategories.RefreshView)] public void RefreshIconDisappearsWhenUserCancelsRefreshByScrollingBackUp() { this.IgnoreIfPlatforms(new[] diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17789.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17789.cs index 64ee7d9a158e..f2dbe4068d6b 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17789.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17789.cs @@ -13,6 +13,7 @@ public Issue17789(TestDevice device) : base(device) public override string Issue => "ContentPage BackgroundImageSource not working"; [Test] + [Category(UITestCategories.Page)] public void ContentPageBackgroundImageSourceWorks() { App.WaitForElement("WaitForStubControl"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18111.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18111.cs index 658c5a0bc7f5..dcce741df479 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18111.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18111.cs @@ -13,6 +13,7 @@ public Issue18111(TestDevice device) : base(device) public override string Issue => "Setting MaximumTrackColor on Slider has no effect"; [Test] + [Category(UITestCategories.Slider)] public void SettingMaximumTrackColorOnSliderWorks() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Windows }, "Regression test validating the design differences between iOS and Mac specifically"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18282.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18282.cs index d7d63feff9e7..93bc6f58b830 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18282.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18282.cs @@ -11,6 +11,7 @@ public Issue18282(TestDevice device) : base(device) { } public override string Issue => "The editor placeholder can't able to changed, It's default placed at center"; [Test] + [Category(UITestCategories.Editor)] public void EditorPlaceholderPosition() { this.IgnoreIfPlatforms(new[] diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18617.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18617.cs index 4c4e9aa2258d..9f5b5bae4806 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18617.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18617.cs @@ -13,6 +13,7 @@ public Issue18617(TestDevice device) public override string Issue => "Button Command CanExecute can disable the control"; [Test] + [Category(UITestCategories.Button)] public void CommandCanExecuteDisableButton() { App.WaitForElement("WaitForStubControl"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18623.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18623.cs index 3a4ef1dcb8d6..3ce1d2f2b92f 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18623.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18623.cs @@ -13,6 +13,7 @@ public Issue18623(TestDevice device) : base(device) public override string Issue => "Entry IsPassword obscure the text"; [Test] + [Category(UITestCategories.Entry)] public async Task EntryIsPasswordObscureText() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.iOS }, diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18645.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18645.cs index f371992127c2..46d8b772a89b 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18645.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18645.cs @@ -13,6 +13,7 @@ public Issue18645(TestDevice device) : base(device) public override string Issue => "Editor MaxLength property works as expected"; [Test] + [Category(UITestCategories.Editor)] public void EditorMaxLengthWorks() { App.WaitForElement("WaitForStubControl"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18647.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18647.cs index b9222a9252fb..1e51648f05fd 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18647.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18647.cs @@ -14,6 +14,7 @@ public Issue18647(TestDevice device) : base(device) public override string Issue => "Editor TextTransform property works as expected"; [Test] + [Category(UITestCategories.Editor)] public void EditorTextTransformWorks() { App.WaitForElement("WaitForStubControl"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18675.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18675.cs index e29b31af3cfd..70fe4ce0fa2e 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18675.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18675.cs @@ -13,6 +13,7 @@ public Issue186751(TestDevice device) : base(device) public override string Issue => "Editor IsReadOnly property prevent from modifying the text"; [Test] + [Category(UITestCategories.Editor)] public async Task EditorIsReadOnlyPreventModify() { App.WaitForElement("WaitForStubControl"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18706.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18706.cs index 323f78ea4ff5..39635f809bee 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18706.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18706.cs @@ -11,6 +11,7 @@ public Issue18706(TestDevice device) : base(device) { } public override string Issue => "Editor Background works"; [Test] + [Category(UITestCategories.Editor)] public void EditorBackgroundWorks() { App.WaitForElement("WaitForStubControl"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18740.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18740.cs index 7edd26c23093..25f39f105279 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18740.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18740.cs @@ -13,6 +13,7 @@ public Issue18740(TestDevice device) public override string Issue => "Virtual keyboard appears with focus on Entry"; [Test] + [Category(UITestCategories.Entry)] [TestCase("Entry")] [TestCase("Editor")] [TestCase("SearchBar")] diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18751.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18751.cs index 687e8f73b70a..0c098fa34f19 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18751.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18751.cs @@ -13,6 +13,7 @@ public Issue18751(TestDevice device) : base(device) public override string Issue => "Can scroll CollectionView inside RefreshView"; [Test] + [Category(UITestCategories.CollectionView)] [Ignore("This test is failing on iOS17, https://github.com/dotnet/maui/issues/20582")] public async Task Issue18751Test() { diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18754.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18754.cs index 00048271c337..f9a4292e53ad 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18754.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18754.cs @@ -11,6 +11,7 @@ public Issue18754(TestDevice device) : base(device) { } public override string Issue => "[D9] Editor IsReadOnly works"; [Test] + [Category(UITestCategories.Editor)] public void Issue18754Test() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Mac, TestDevice.Windows }, diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue18896.cs b/src/Controls/tests/UITests/Tests/Issues/Issue18896.cs index d4dcfef6627e..4055a6900d96 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue18896.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue18896.cs @@ -15,6 +15,7 @@ public Issue18896(TestDevice device) : base(device) public override string Issue => "Can scroll ListView inside RefreshView"; [Test] + [Category(UITestCategories.ListView)] public async Task Issue18896Test() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.iOS, TestDevice.Mac }, diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue19283.cs b/src/Controls/tests/UITests/Tests/Issues/Issue19283.cs index 33cb5d7f0d70..aede24dfcb56 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue19283.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue19283.cs @@ -11,6 +11,7 @@ public Issue19283(TestDevice device) : base(device) { } public override string Issue => "PointerOver VSM Breaks Button"; [Test] + [Category(UITestCategories.Button)] public void ButtonStillWorksWhenItHasPointerOverVSMSet() { App.Click("btn"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue19329.cs b/src/Controls/tests/UITests/Tests/Issues/Issue19329.cs index 1996c4bfbbde..336afd140a01 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue19329.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue19329.cs @@ -12,6 +12,7 @@ public Issue19329(TestDevice device) : base(device) { } public override string Issue => "Pointer gestures should work with relative positions correctly"; [Test] + [Category(UITestCategories.Gestures] public void RelativePointerPositionIsComputedCorrectly() { _ = App.WaitForElement("TapHere"); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue19379.cs b/src/Controls/tests/UITests/Tests/Issues/Issue19379.cs index cfd631b85e64..11e77a4eccfe 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue19379.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue19379.cs @@ -13,6 +13,7 @@ public Issue19379(TestDevice device) public override string Issue => "Not able to update CollectionView header"; [Test] + [Category(UITestCategories.CollectionView)] public void UpdateCollectionViewHeaderTest() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.Windows }); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue19657.cs b/src/Controls/tests/UITests/Tests/Issues/Issue19657.cs index c393586abbb0..43e2a82d581c 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue19657.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue19657.cs @@ -12,6 +12,7 @@ public Issue19657(TestDevice device) : base(device) { } public override string Issue => "CarouselView Content disappears when 'Loop' is false and inside ScrollView"; [Test] + [Category(UITestCategories.CarouselView)] public void CarouselItemLoadsInCorrectPosition() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.Windows }, diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue19956.cs b/src/Controls/tests/UITests/Tests/Issues/Issue19956.cs index c5fe2146cae1..dadf88c8b052 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue19956.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue19956.cs @@ -13,7 +13,8 @@ public Issue19956(TestDevice device) : base(device) { } public override string Issue => "Sticky headers and bottom content insets"; [Test] - public void ContentAccountsForStickyHeaders() + [Category(UITestCategories.Entry)] + public void ContentAccountsForStickyHeaders() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.Windows }, "This is an iOS Keyboard Scrolling issue."); diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue3525.cs b/src/Controls/tests/UITests/Tests/Issues/Issue3525.cs index 0430a77dfdbd..e5d27fab6f5b 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue3525.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue3525.cs @@ -17,6 +17,7 @@ public Issue3525(TestDevice device) public override string Issue => "Finicky tap gesture recognition on Spans"; [Test] + [Category(UITestCategories.Label)] public void SpanRegionClicking() { if (Device == TestDevice.Mac) diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue5191.cs b/src/Controls/tests/UITests/Tests/Issues/Issue5191.cs index 7140df63eea7..4756fdd693f5 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue5191.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue5191.cs @@ -12,6 +12,7 @@ public Issue5191(TestDevice device) : base(device) { } public override string Issue => "PanGesture notify Completed event moving outside View limits"; [Test] + [Category(UITestCategories.Gestures)] public void Issue5191Test() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.iOS, TestDevice.Mac, TestDevice.Windows }, diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue5555.cs b/src/Controls/tests/UITests/Tests/Issues/Issue5555.cs index 50b721c3bfa4..c735fc8f4c60 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue5555.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue5555.cs @@ -12,6 +12,7 @@ public Issue5555(TestDevice device) : base(device) } [Test] + [Category(UITestCategories.TableView)] public void TableViewMemoryLeakWhenUsingSwitchCellOrEntryCell() { this.IgnoreIfPlatforms(new[] diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue5924.cs b/src/Controls/tests/UITests/Tests/Issues/Issue5924.cs index 2cacca030eb2..6c80f3d87661 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue5924.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue5924.cs @@ -12,6 +12,7 @@ public Issue5924(TestDevice device) : base(device) } [Test] + [Category(UITestCategories.Entry)] public void TableViewViewCellVanishesAfterContentIsUpdated() { App.WaitForElement("entry"); diff --git a/src/Controls/tests/UITests/Tests/Issues/RefreshViewTests.cs b/src/Controls/tests/UITests/Tests/Issues/RefreshViewTests.cs index 1a09da123aed..3163a5bd674b 100644 --- a/src/Controls/tests/UITests/Tests/Issues/RefreshViewTests.cs +++ b/src/Controls/tests/UITests/Tests/Issues/RefreshViewTests.cs @@ -13,6 +13,7 @@ public RefreshViewTests(TestDevice device) public override string Issue => "Refresh View Tests"; [Test] + [Category(UITestCategories.RefreshView)] public void IsRefreshingAndCommandTest() { App.Click("ToggleRefresh"); diff --git a/src/Controls/tests/UITests/Tests/Issues/SoftInputExtensionsPageTests.cs b/src/Controls/tests/UITests/Tests/Issues/SoftInputExtensionsPageTests.cs index e6e92fb4944e..5a66bbb87a94 100644 --- a/src/Controls/tests/UITests/Tests/Issues/SoftInputExtensionsPageTests.cs +++ b/src/Controls/tests/UITests/Tests/Issues/SoftInputExtensionsPageTests.cs @@ -11,6 +11,7 @@ public SoftInputExtensionsPageTests(TestDevice device) : base(device) { } public override string Issue => "Soft Input Extension Methods"; [Test] + [Category(UITestCategories.Entry)] public void SoftInputExtensionsPageTest() { // Make sure the buttons appear on the screen. diff --git a/src/Controls/tests/UITests/Tests/Issues/XFIssue2681.cs b/src/Controls/tests/UITests/Tests/Issues/XFIssue2681.cs index 776627536686..d6643e3bda7c 100644 --- a/src/Controls/tests/UITests/Tests/Issues/XFIssue2681.cs +++ b/src/Controls/tests/UITests/Tests/Issues/XFIssue2681.cs @@ -15,6 +15,7 @@ public XFIssue2681(TestDevice device) : base(device) public override string Issue => "[UWP] Label inside Listview gets stuck inside infinite loop"; [Test] + [Category(UITestCategories.ListView)] public void ListViewDoesntFreezeApp() { App.WaitForElement(NavigateToPage); diff --git a/src/Controls/tests/UITests/Tests/LabelUITests.cs b/src/Controls/tests/UITests/Tests/LabelUITests.cs index 5c401c041d7a..e82a47cc11e1 100644 --- a/src/Controls/tests/UITests/Tests/LabelUITests.cs +++ b/src/Controls/tests/UITests/Tests/LabelUITests.cs @@ -24,6 +24,7 @@ public override void _IsEnabled() } [Test] + [Category(UITestCategories.Label)] public void SpanTapped() { if (Device == TestDevice.Mac) diff --git a/src/Controls/tests/UITests/Tests/RadioButtonUITests.cs b/src/Controls/tests/UITests/Tests/RadioButtonUITests.cs index a60c4ed02c03..8eb15468cb49 100644 --- a/src/Controls/tests/UITests/Tests/RadioButtonUITests.cs +++ b/src/Controls/tests/UITests/Tests/RadioButtonUITests.cs @@ -18,6 +18,7 @@ protected override void NavigateToGallery() } [Test] + [Category(UITestCategories.RadioButton)] public override void _IsEnabled() { if (Device == TestDevice.Mac || diff --git a/src/Controls/tests/UITests/Tests/ScrollViewUITests.cs b/src/Controls/tests/UITests/Tests/ScrollViewUITests.cs index 737403b6743a..4e22dfd4c1f4 100644 --- a/src/Controls/tests/UITests/Tests/ScrollViewUITests.cs +++ b/src/Controls/tests/UITests/Tests/ScrollViewUITests.cs @@ -26,6 +26,7 @@ protected override void FixtureTeardown() } [Test] + [Category(UITestCategories.ScrollView)] [Description("Scroll element to the start")] public void ScrollToElement1Start() { @@ -42,6 +43,7 @@ public void ScrollToElement1Start() } [Test] + [Category(UITestCategories.ScrollView)] [Description("Scroll element to the center")] public void ScrollToElement2Center() { @@ -60,6 +62,7 @@ public void ScrollToElement2Center() } [Test] + [Category(UITestCategories.ScrollView)] [Description("Scroll element to the end")] public void ScrollToElement3End() { @@ -76,6 +79,7 @@ public void ScrollToElement3End() } [Test] + [Category(UITestCategories.ScrollView)] [Description("Scroll down the ScrollView using a gesture")] public void ScrollUpAndDownWithGestures() { diff --git a/src/Controls/tests/UITests/Tests/SliderUITests.cs b/src/Controls/tests/UITests/Tests/SliderUITests.cs index 5122ab47f5b6..223f7591672d 100644 --- a/src/Controls/tests/UITests/Tests/SliderUITests.cs +++ b/src/Controls/tests/UITests/Tests/SliderUITests.cs @@ -26,6 +26,7 @@ protected override void FixtureTeardown() } [Test] + [Category(UITestCategories.Slider)] [Description("Set different slider values")] public void SetSliderValue() { diff --git a/src/Controls/tests/UITests/Tests/SwipeViewUITests.cs b/src/Controls/tests/UITests/Tests/SwipeViewUITests.cs index ed1a9ac7f625..798138852f2d 100644 --- a/src/Controls/tests/UITests/Tests/SwipeViewUITests.cs +++ b/src/Controls/tests/UITests/Tests/SwipeViewUITests.cs @@ -31,6 +31,7 @@ protected override void FixtureTeardown() } [Test] + [Category(UITestCategories.SwipeView)] [Description("Swipe to right the SwipeView")] public void SwipeToRight() { @@ -48,6 +49,7 @@ public void SwipeToRight() } [Test] + [Category(UITestCategories.SwipeView)] [Description("Swipe to left the SwipeView")] public void SwipeToLeft() { diff --git a/src/Controls/tests/UITests/UITestCategories.cs b/src/Controls/tests/UITests/UITestCategories.cs new file mode 100644 index 000000000000..84b185a469c0 --- /dev/null +++ b/src/Controls/tests/UITests/UITestCategories.cs @@ -0,0 +1,68 @@ +namespace Microsoft.Maui.AppiumTests +{ + internal static class UITestCategories + { + public const string ViewBaseTests = "ViewBaseTests"; + public const string ActionSheet = "ActionSheet"; + public const string ActivityIndicator = "ActivityIndicator"; + public const string Animation = "Animation"; + public const string AutomationId = "AutomationID"; + public const string Border = "Border"; + public const string BoxView = "BoxView"; + public const string Button = "Button"; + public const string CarouselView = "CarouselView"; + public const string Cells = "Cells"; + public const string CheckBox = "CheckBox"; + public const string CollectionView = "CollectionView"; + public const string ContextActions = "ContextActions"; + public const string DatePicker = "DatePicker"; + public const string DragAndDrop = "DragAndDrop"; + public const string DisplayAlert = "DisplayAlert"; + public const string Editor = "Editor"; + public const string Entry = "Entry"; + public const string Frame = "Frame"; + public const string Image = "Image"; + public const string ImageButton = "ImageButton"; + public const string Label = "Label"; + public const string Layout = "Layout"; + public const string ListView = "ListView"; + public const string LifeCycle = "Lifecycle"; + public const string FlyoutPage = "FlyoutPage"; + public const string Picker = "Picker"; + public const string ProgressBar = "ProgressBar"; + public const string ScrollView = "ScrollView"; + public const string SearchBar = "SearchBar"; + public const string Slider = "Slider"; + public const string Stepper = "Stepper"; + public const string Switch = "Switch"; + public const string SwipeView = "SwipeView"; + public const string TableView = "TableView"; + public const string TimePicker = "TimePicker"; + public const string ToolbarItem = "ToolbarItem"; + public const string WebView = "WebView"; + public const string Window = "Window"; + public const string Maps = "Maps"; + public const string InputTransparent = "InputTransparent"; + public const string IsEnabled = "IsEnabled"; + public const string Gestures = "Gestures"; + public const string Navigation = "Navigation"; + public const string Effects = "Effects"; + public const string Focus = "Focus"; + public const string ManualReview = "ManualReview"; + public const string Performance = "Performance"; + public const string Visual = "Visual"; + public const string AppLinks = "AppLinks"; + public const string Shell = "Shell"; + public const string TabbedPage = "TabbedPage"; + public const string CustomRenderers = "CustomRenderers"; + public const string Page = "Page"; + public const string RefreshView = "RefreshView"; + public const string TitleView = "TitleView"; + public const string DisplayPrompt = "DisplayPrompt"; + public const string IndicatorView = "IndicatorView"; + public const string RadioButton = "RadioButton"; + public const string Shape = "Shape"; + public const string Accessibility = "Accessibility"; + public const string Brush = "Brush"; + } +} From 24ca4a59357614b87363f3259396f93564981fd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Su=C3=A1rez?= Date: Mon, 19 Feb 2024 13:52:16 +0100 Subject: [PATCH 2/2] Fix build error --- src/Controls/tests/UITests/Tests/Issues/Issue19329.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue19329.cs b/src/Controls/tests/UITests/Tests/Issues/Issue19329.cs index 336afd140a01..51faa6023337 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue19329.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue19329.cs @@ -12,7 +12,7 @@ public Issue19329(TestDevice device) : base(device) { } public override string Issue => "Pointer gestures should work with relative positions correctly"; [Test] - [Category(UITestCategories.Gestures] + [Category(UITestCategories.Gestures)] public void RelativePointerPositionIsComputedCorrectly() { _ = App.WaitForElement("TapHere");