From fd9641cdc5f40b978c08d8a78e067f8e9beabc7c Mon Sep 17 00:00:00 2001 From: yaqingmi Date: Fri, 23 May 2025 16:51:25 +0800 Subject: [PATCH] Fix UITest pipeline errors for MouseUitls module (#39656) * Adjust sleep time between actions * Adjust sleep time between actions2 * Fix pipeline errors * Adjust wait time between clear and send input --------- Co-authored-by: Yaqing Mi (from Dev Box) --- .../UITestAutomation/Element/TextBox.cs | 1 + src/common/UITestAutomation/SessionHelper.cs | 1 + .../MouseUtils.UITests/FindMyMouseTests.cs | 56 +++++++++++++++---- .../MouseHighlighterTests.cs | 18 ++++++ 4 files changed, 65 insertions(+), 11 deletions(-) diff --git a/src/common/UITestAutomation/Element/TextBox.cs b/src/common/UITestAutomation/Element/TextBox.cs index 932f6058b5..4ffb1a23e5 100644 --- a/src/common/UITestAutomation/Element/TextBox.cs +++ b/src/common/UITestAutomation/Element/TextBox.cs @@ -36,6 +36,7 @@ namespace Microsoft.PowerToys.UITest windowElement.SendKeys(OpenQA.Selenium.Keys.Control + "a"); windowElement.SendKeys(OpenQA.Selenium.Keys.Delete); }); + Task.Delay(500).Wait(); } PerformAction((actions, windowElement) => diff --git a/src/common/UITestAutomation/SessionHelper.cs b/src/common/UITestAutomation/SessionHelper.cs index a3c54f0969..6ff4e0c68d 100644 --- a/src/common/UITestAutomation/SessionHelper.cs +++ b/src/common/UITestAutomation/SessionHelper.cs @@ -57,6 +57,7 @@ namespace Microsoft.PowerToys.UITest if (scope == PowerToysModule.PowerToysSettings) { + this.ExitExe(runnerProcessInfo.FileName); this.runner = Process.Start(runnerProcessInfo); } diff --git a/src/modules/MouseUtils/MouseUtils.UITests/FindMyMouseTests.cs b/src/modules/MouseUtils/MouseUtils.UITests/FindMyMouseTests.cs index f53c793143..0877101d60 100644 --- a/src/modules/MouseUtils/MouseUtils.UITests/FindMyMouseTests.cs +++ b/src/modules/MouseUtils/MouseUtils.UITests/FindMyMouseTests.cs @@ -158,6 +158,7 @@ namespace MouseUtils.UITests [TestMethod("MouseUtils.FindMyMouse.DisableFindMyMouse")] [TestCategory("Mouse Utils #5")] + [TestCategory("Mouse Utils #6")] public void TestDisableFindMyMouse() { LaunchFromSetting(); @@ -219,6 +220,7 @@ namespace MouseUtils.UITests // [Test Case] Press Left Ctrl twice and verify the overlay appears foundCustom.Find("Enable Find My Mouse").Toggle(true); + Task.Delay(2000).Wait(); ActivateSpotlight(ref settings); VerifySpotlightAppears(ref settings); @@ -288,6 +290,7 @@ namespace MouseUtils.UITests // [Test Case] Press Left Ctrl twice and verify the overlay appears foundCustom.Find("Enable Find My Mouse").Toggle(true); + Task.Delay(2000).Wait(); ActivateSpotlight(ref settings); VerifySpotlightAppears(ref settings); @@ -391,17 +394,17 @@ namespace MouseUtils.UITests Task.Delay(1000).Wait(); Session.PerformMouseAction(MouseActionType.LeftClick); - Task.Delay(5000).Wait(); + Task.Delay(1000).Wait(); if (settings.SelectedActivationMethod == FindMyMouseSettings.ActivationMethod.PressLeftControlTwice) { Session.SendKey(Key.LCtrl, 0, 0); - Task.Delay(100).Wait(); + Task.Delay(200).Wait(); Session.SendKey(Key.LCtrl, 0, 0); } else if (settings.SelectedActivationMethod == FindMyMouseSettings.ActivationMethod.PressRightControlTwice) { Session.SendKey(Key.RCtrl, 0, 0); - Task.Delay(100).Wait(); + Task.Delay(200).Wait(); Session.SendKey(Key.RCtrl, 0, 0); } else if (settings.SelectedActivationMethod == FindMyMouseSettings.ActivationMethod.ShakeMouse) @@ -478,12 +481,27 @@ namespace MouseUtils.UITests colorModelComboBox.Click(); var selectedItem = colorModelComboBox.Find("RGB"); selectedItem.Click(); - Task.Delay(100).Wait(); + Task.Delay(500).Wait(); var rgbHexEdit = this.Find("RGB hex"); Assert.IsNotNull(rgbHexEdit); - Task.Delay(100).Wait(); - rgbHexEdit.SetText(settings.BackgroundColor); - Task.Delay(100).Wait(); + Task.Delay(500).Wait(); + int retry = 5; + while (retry > 0) + { + Task.Delay(500).Wait(); + rgbHexEdit.SetText(settings.BackgroundColor); + Task.Delay(500).Wait(); + string rgbHex = rgbHexEdit.Text; + bool isValid = rgbHex.StartsWith('#') && rgbHex.Length == 7 && rgbHex.Substring(1) == settings.BackgroundColor; + Task.Delay(500).Wait(); + if (isValid) + { + break; + } + + retry--; + } + button.Click(); // Set the Spotlight color @@ -502,12 +520,28 @@ namespace MouseUtils.UITests var selectedItem2 = spotlightColorModelComboBox.Find("RGB"); Assert.IsNotNull(selectedItem2); selectedItem2.Click(); - Task.Delay(100).Wait(); + Task.Delay(500).Wait(); var rgbHexEdit2 = this.Find("RGB hex"); Assert.IsNotNull(rgbHexEdit2); - Task.Delay(100).Wait(); - rgbHexEdit2.SetText(settings.SpotlightColor); - Task.Delay(100).Wait(); + Task.Delay(500).Wait(); + retry = 5; + while (retry > 0) + { + Task.Delay(500).Wait(); + rgbHexEdit2.SetText(settings.SpotlightColor); + Task.Delay(500).Wait(); + string rgbHex = rgbHexEdit2.Text; + bool isValid = rgbHex.StartsWith('#') && rgbHex.Length == 7 && rgbHex.Substring(1) == settings.SpotlightColor; + Task.Delay(500).Wait(); + if (isValid) + { + break; + } + + retry--; + } + + Task.Delay(500).Wait(); spotlightColorButton.Click(false, 500, 1500); // Set the overlay opacity to overlayOpacity% diff --git a/src/modules/MouseUtils/MouseUtils.UITests/MouseHighlighterTests.cs b/src/modules/MouseUtils/MouseUtils.UITests/MouseHighlighterTests.cs index a92116dc54..aae502ef4d 100644 --- a/src/modules/MouseUtils/MouseUtils.UITests/MouseHighlighterTests.cs +++ b/src/modules/MouseUtils/MouseUtils.UITests/MouseHighlighterTests.cs @@ -411,8 +411,26 @@ namespace MouseUtils.UITests selectedItem.Click(); var rgbHexEdit = this.Find("RGB hex"); Assert.IsNotNull(rgbHexEdit); + Task.Delay(500).Wait(); rgbHexEdit.SetText(colorValue); + int retry = 5; + while (retry > 0) + { + Task.Delay(500).Wait(); + rgbHexEdit.SetText(colorValue); + Task.Delay(500).Wait(); + string rgbHex = rgbHexEdit.Text; + bool isValid = rgbHex.StartsWith('#') && rgbHex.Length == 9 && rgbHex.Substring(1) == colorValue; + Task.Delay(500).Wait(); + if (isValid) + { + break; + } + retry--; + } + + Task.Delay(500).Wait(); button.Click(); } }