// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.ObjectModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Xml.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium.Appium; using OpenQA.Selenium.Appium.Windows; namespace Microsoft.PowerToys.UITest { /// /// Base class that should be inherited by all Test Classes. /// [TestClass] public class UITestBase { public Session Session { get; set; } private readonly SessionHelper sessionHelper; private readonly PowerToysModule scope; public UITestBase(PowerToysModule scope = PowerToysModule.PowerToysSettings) { this.scope = scope; this.sessionHelper = new SessionHelper(scope).Init(); this.Session = new Session(this.sessionHelper.GetRoot(), this.sessionHelper.GetDriver()); } /// /// Initializes the test. /// [TestInitialize] public void TestInit() { if (this.scope == PowerToysModule.PowerToysSettings) { // close Debug warning dialog if any // Such debug warning dialog seems only appear in PowerToys Settings if (this.FindAll("DEBUG").Count > 0) { this.Find("DEBUG").Find