Files
PowerToys/src/tests/win-app-driver/PowerToysTrayTests.cs

122 lines
3.1 KiB
C#
Raw Normal View History

using Microsoft.VisualStudio.TestTools.UnitTesting;
2020-08-14 15:10:06 -07:00
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Windows;
using OpenQA.Selenium.Interactions;
namespace PowerToysTests
{
[TestClass]
public class PowerToysTrayTests : PowerToysSession
{
private bool isSettingsOpened;
private bool isTrayOpened;
[TestMethod]
public void SettingsOpen()
{
OpenSettings();
//check settings window opened
WindowsElement settingsWindow = session.FindElementByName("PowerToys Settings");
Assert.IsNotNull(settingsWindow);
isSettingsOpened = true;
}
[TestMethod]
public void SettingsOpenWithContextMenu()
{
//open tray
trayButton.Click();
WaitSeconds(1);
isTrayOpened = true;
//open PowerToys context menu
AppiumWebElement pt = PowerToysTrayButton();
Assert.IsNotNull(pt);
2020-08-14 15:10:06 -07:00
new Actions(session).MoveToElement(pt).ContextClick().Perform();
//open settings
session.FindElementByXPath("//MenuItem[@Name=\"Settings\"]").Click();
2020-08-14 15:10:06 -07:00
//check settings window opened
WindowsElement settingsWindow = session.FindElementByName("PowerToys Settings");
Assert.IsNotNull(settingsWindow);
isSettingsOpened = true;
}
[TestMethod]
public void PowerToysExit()
{
//open PowerToys context menu
trayButton.Click();
isTrayOpened = true;
WaitSeconds(1);
AppiumWebElement powerToys = PowerToysTrayButton();
Assert.IsNotNull(powerToys);
2020-08-14 15:10:06 -07:00
new Actions(session).MoveToElement(powerToys).ContextClick().Perform();
//exit
session.FindElementByAccessibilityId("40001").Click();
2020-08-14 15:10:06 -07:00
//check PowerToys exited
powerToys = null;
try
{
powerToys = PowerToysTrayButton();
}
catch (OpenQA.Selenium.WebDriverException)
{
//expected, PowerToys shouldn't be here
}
LaunchPowerToys();
Assert.IsNull(powerToys);
}
[ClassInitialize]
public static void ClassInitialize(TestContext context)
{
Setup(context);
Assert.IsNotNull(session);
if (!isPowerToysLaunched)
{
LaunchPowerToys();
}
}
[ClassCleanup]
public static void ClassCleanup()
{
ExitPowerToys();
TearDown();
}
[TestInitialize]
public void TestInitialize()
{
isSettingsOpened = false;
isTrayOpened = false;
}
[TestCleanup]
public void TestCleanup()
{
if (isSettingsOpened)
{
CloseSettings();
2020-08-14 15:10:06 -07:00
}
if (isTrayOpened)
{
trayButton.Click();
}
}
}
}