Add Sleep Time to Action Parameters

This commit is contained in:
Yaqing Mi (from Dev Box)
2025-04-21 14:58:46 +08:00
parent d4f6208570
commit 4e582c7b2c
4 changed files with 37 additions and 16 deletions

View File

@@ -113,9 +113,10 @@ namespace Microsoft.PowerToys.UITest
/// Click the UI element.
/// </summary>
/// <param name="rightClick">If true, performs a right-click; otherwise, performs a left-click. Default value is false</param>
public virtual void Click(bool rightClick = false)
public virtual void Click(bool rightClick = false, int msPreAction = 500, int msPostAction = 500)
{
PerformAction((actions, windowElement) =>
PerformAction(
(actions, windowElement) =>
{
actions.MoveToElement(windowElement);
@@ -132,7 +133,9 @@ namespace Microsoft.PowerToys.UITest
}
actions.Build().Perform();
});
},
msPreAction,
msPostAction);
}
/// <summary>

View File

@@ -24,9 +24,12 @@ namespace Microsoft.PowerToys.UITest
/// Click the ListItem element.
/// </summary>
/// <param name="rightClick">If true, performs a right-click; otherwise, performs a left-click. Default value is false</param>
public override void Click(bool rightClick = false)
/// <param name="msPreAction">Pre action delay in milliseconds. Default value is 500</param>
/// <param name="msPostAction">Post action delay in milliseconds. Default value is 500</param>
public override void Click(bool rightClick = false, int msPreAction = 500, int msPostAction = 500)
{
PerformAction((actions, windowElement) =>
PerformAction(
(actions, windowElement) =>
{
actions.MoveToElement(windowElement, 10, 10);
@@ -40,7 +43,9 @@ namespace Microsoft.PowerToys.UITest
}
actions.Build().Perform();
});
},
msPreAction,
msPostAction);
}
/// <summary>

View File

@@ -519,9 +519,12 @@ namespace Microsoft.PowerToys.UITest
/// Performs a mouse action based on the specified action type.
/// </summary>
/// <param name="action">The mouse action to perform.</param>
public void PerformMouseAction(MouseActionType action)
/// <param name="msPreAction">Pre-action delay in milliseconds.</param>
/// <param name="msPostAction">Post-action delay in milliseconds.</param>
public void PerformMouseAction(MouseActionType action, int msPreAction = 500, int msPostAction = 500)
{
PerformAction(() =>
PerformAction(
() =>
{
switch (action)
{
@@ -567,7 +570,9 @@ namespace Microsoft.PowerToys.UITest
default:
throw new ArgumentException("Unsupported mouse action.", nameof(action));
}
});
},
msPreAction,
msPostAction);
}
/// <summary>

View File

@@ -9,6 +9,7 @@ using System.Xml.Linq;
using Microsoft.PowerToys.UITest;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Windows.Devices.Printers;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace MouseUtils.UITests
{
@@ -48,10 +49,11 @@ namespace MouseUtils.UITests
if (foundCustom != null)
{
foundCustom.Find<ToggleSwitch>("Enable Find My Mouse").Toggle(true);
CheckAnimationEnable(ref foundCustom);
// foundCustom.Find<ToggleSwitch>("Enable Find My Mouse").Toggle(false);
SetFindMyMouseActivationMethod(ref foundCustom, "Press Left Control twice");
Assert.IsNotNull(foundCustom, "Find My Mouse group not found.");
SetFindMyMouseAppearanceBehavior(ref foundCustom, ref settings);
var excludedApps = foundCustom.Find<TextBlock>("Excluded apps");
@@ -84,8 +86,7 @@ namespace MouseUtils.UITests
Task.Delay(1000).Wait();
// MouseSimulator.LeftClick();
Session.PerformMouseAction(MouseActionType.LeftClick);
Task.Delay(1000).Wait();
Session.PerformMouseAction(MouseActionType.LeftClick, 500, 1000);
VerifySpotlightDisappears(ref settings);
}
@@ -109,7 +110,7 @@ namespace MouseUtils.UITests
// foundCustom.Find<ToggleSwitch>("Enable Find My Mouse").Toggle(false);
SetFindMyMouseActivationMethod(ref foundCustom, "Press Left Control twice");
Assert.IsNotNull(foundCustom);
SetFindMyMouseAppearanceBehavior(ref foundCustom, ref settings);
var excludedApps = foundCustom.Find<TextBlock>("Excluded apps");
@@ -167,6 +168,7 @@ namespace MouseUtils.UITests
// foundCustom.Find<ToggleSwitch>("Enable Find My Mouse").Toggle(false);
SetFindMyMouseActivationMethod(ref foundCustom, "Press Left Control twice");
Assert.IsNotNull(foundCustom, "Find My Mouse group not found.");
// SetFindMyMouseAppearanceBehavior(ref foundCustom, ref settings);
var excludedApps = foundCustom.Find<TextBlock>("Excluded apps");
@@ -273,7 +275,7 @@ namespace MouseUtils.UITests
VerifySpotlightAppears(ref settings);
}
private void SetFindMyMouseActivationMethod(ref Custom foundCustom, string method)
private void SetFindMyMouseActivationMethod(ref Custom? foundCustom, string method)
{
Assert.IsNotNull(foundCustom);
var groupActivation = foundCustom.Find<TextBlock>("Activation method");
@@ -360,8 +362,7 @@ namespace MouseUtils.UITests
Task.Delay(100).Wait();
rgbHexEdit2.SetText(settings.SpotlightColor);
Task.Delay(100).Wait();
spotlightColorButton.Click();
Task.Delay(1000).Wait();
spotlightColorButton.Click(false, 500, 1500);
// Set the overlay opacity to overlayOpacity%
var overlayOpacitySlider = foundCustom.Find<Slider>("Overlay opacity (%)");
@@ -432,6 +433,13 @@ namespace MouseUtils.UITests
return true;
}
private void CheckAnimationEnable(ref Custom? foundCustom)
{
Assert.IsNotNull(foundCustom, "Find My Mouse group not found.");
var animationDisabledWarning = foundCustom.Find<TextBlock>("Animations are disabled in your system settings");
Assert.IsNull(animationDisabledWarning);
}
private void LaunchFromSetting(bool showWarning = false, bool launchAsAdmin = false)
{
// this.Session.Attach(PowerToysModule.PowerToysSettings);