Пример #1
0
        private void CloseApplication(string applicationId)
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", applicationId);
            WindowsDriver <WindowsElement> session = new WindowsDriver <WindowsElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities);

            Assert.IsNotNull(session);
            Assert.IsNotNull(session.SessionId);
            Assert.AreNotEqual(String.Empty, session.Title);
            Assert.AreNotEqual(String.Empty, session.CurrentWindowHandle);
            var originalWindowHandlesCount = session.WindowHandles.Count;

            session.CloseApp();

            System.Threading.Thread.Sleep(3000); // Sleep for 3 second
            Assert.IsNotNull(session);
            Assert.IsNotNull(session.SessionId);
            Assert.AreEqual(originalWindowHandlesCount - 1, session.WindowHandles.Count);

            try
            {
                session.CloseApp(); // Attempt to close already closed app
                Assert.Fail("Exception should have been thrown");
            }
            catch (System.InvalidOperationException exception)
            {
                Assert.AreEqual("Currently selected window has been closed", exception.Message);
            }

            session.Quit();
        }
Пример #2
0
 public void VerifyNotepadOperations()
 {
     try
     {
         string           program   = "C:\\Program Files (x86)\\Windows Application Driver\\WinAppDriver.exe";
         ProcessStartInfo startInfo = new ProcessStartInfo();
         startInfo.FileName        = program;
         startInfo.UseShellExecute = false;
         winappListenerProcess     = Process.Start(startInfo);
         appCapabilities           = new DesiredCapabilities();
         appCapabilities.SetCapability("app", @"C:\Windows\System32\notepad.exe");
         winappDriver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), appCapabilities);
         winappDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
         WindowsElement FileMenu = winappDriver.FindElementByName("File");
         Assert.True(FileMenu.Enabled);
         FileMenu.Click();
         WindowsElement ExitButton = winappDriver.FindElementByName("Exit");
         Assert.True(ExitButton.Enabled);
         Thread.Sleep(3000);
     }
     finally
     {
         winappDriver.CloseApp();
         winappListenerProcess.Kill();
     }
 }
Пример #3
0
 public void VerifyControlPanel()
 {
     try
     {
         string           program   = "C:\\Program Files (x86)\\Windows Application Driver\\WinAppDriver.exe";
         ProcessStartInfo startInfo = new ProcessStartInfo();
         startInfo.FileName        = program;
         startInfo.UseShellExecute = false;
         winappListenerProcess     = Process.Start(startInfo);
         appCapabilities           = new DesiredCapabilities();
         appCapabilities.SetCapability("app", "windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel");
         //Microsoft.Windows.ControlPanel
         winappDriver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), appCapabilities);
         winappDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
         WindowsElement Accounts = winappDriver.FindElementByName("Accounts");
         Accounts.Click();
         WindowsElement Yourinfo = winappDriver.FindElementByName("Your info");
         Thread.Sleep(3000);
         Assert.True(Yourinfo.Displayed);
         Thread.Sleep(3000);
     }
     finally
     {
         winappDriver.CloseApp();
         winappListenerProcess.Kill();
     }
 }
Пример #4
0
 public void TestFixtureTearDown()
 {
     CalculatorResult = null;
     CalculatorSession.CloseApp();
     CalculatorSession.Dispose();
     CalculatorSession = null;
 }
Пример #5
0
        public void saveProblemTest()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();
            string str = Environment.CurrentDirectory;

            appCapabilities.SetCapability("app", Environment.CurrentDirectory + "\\..\\..\\..\\Team_Agile\\bin\\Debug\\Team_Agile.exe");

            WindowsDriver <WindowsElement> AlarmClockSession = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), appCapabilities);

            Assert.IsNotNull(AlarmClockSession);
            WindowsElement teacher_btn = AlarmClockSession.FindElementByName("教师");

            Assert.IsNotNull(teacher_btn);
            teacher_btn.Click();
            Thread.Sleep(2000);

            WindowsElement save_btn = AlarmClockSession.FindElementByName("导出");

            Assert.IsNotNull(save_btn);
            save_btn.Click();
            Thread.Sleep(2000);
            WindowsDriver <WindowsElement> save = (WindowsDriver <WindowsElement>)AlarmClockSession.SwitchTo().Window(AlarmClockSession.CurrentWindowHandle);
            WindowsElement ok_btn = save.FindElementByName("确定");

            Assert.IsNotNull(ok_btn);
            ok_btn.Click();
            AlarmClockSession.CloseApp();
            Assert.IsTrue(File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "/Problem.xml"));
        }
Пример #6
0
        public void Test_Application_Add_Item_Dialog_Is_Shown()
        {
            var capabilities = new AppiumOptions();

            capabilities.AddAdditionalCapability(MobileCapabilityType.App, @"C:\temp\appium-hol\AppsToTest\WinForms\CarvedRock.exe");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Windows");
            capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "WindowsPC");

            //start the application
            var driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);

            // click add
            var addButton = driver.FindElementByName("AddNewItem");

            addButton.Click();

            // verify we are showing the dialog
            var AddDialogWindow = driver.FindElementByAccessibilityId("NewItemForm");

            var textLabel1 = AddDialogWindow.FindElementByAccessibilityId("label1");

            Assert.IsTrue(textLabel1 != null);

            //close the dialog
            var closeButton = AddDialogWindow.FindElementByName("Close");

            closeButton.Click();

            //stop the application
            driver.CloseApp();
            driver.Dispose();
        }
Пример #7
0
 public void OneTimeTearDown()
 {
     CalculatorResult = null;
     _calculatorSession.CloseApp();
     _calculatorSession.Dispose();
     _calculatorSession = null;
 }
        public void MasterDetail()
        {
            var capabilities = new AppiumOptions();

            capabilities.AddAdditionalCapability(MobileCapabilityType.App, "8b831c56-bc54-4a8b-af94-a448f80118e7_sezxftbtgh66j!App");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Windows");
            capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "WindowsPC");

            var _appiumLocalService = new AppiumServiceBuilder().UsingAnyFreePort().Build();

            _appiumLocalService.Start();
            var driver = new WindowsDriver <WindowsElement>(_appiumLocalService, capabilities);

            // tap on second item
            var el1 = driver.FindElementByName("Second item");

            el1.Click();
            var el2 = driver.FindElementByAccessibilityId("ItemText");

            Assert.IsTrue(el2.Text == "Second item");

            var backButton = driver.FindElementByAccessibilityId("Back");

            backButton.Click();

            var el3 = driver.FindElementByName("Fourth item");

            Assert.IsTrue(el3 != null);

            driver.CloseApp();
        }
Пример #9
0
        public void Pump6Select()
        {
            SuccessLogin();

            driver.FindElementByAccessibilityId("SelectPump6").Click();

            driver.CloseApp();
        }
Пример #10
0
        public void TearDown()
        {
            var allWindowHandles = driver.WindowHandles;

            driver.SwitchTo().Window(allWindowHandles[0]);
            driver.CloseApp();
            //driver.FindElementByName("&Tak").Click();
        }
Пример #11
0
 public static void TearDown()
 {
     if (_session != null)
     {
         _session.CloseApp();
         _session.Quit();
         _session = null;
     }
 }
Пример #12
0
        public void closeAllApplevels(WindowsDriver <WindowsElement> driver)
        {
            var allWindowHandles = driver.WindowHandles;

            foreach (var item in allWindowHandles)
            {
                driver.SwitchTo().Window(item);
                driver.CloseApp();
            }
        }
Пример #13
0
        public void Test_Application_Add_Item_Dialog_AddsNewItem()
        {
            var capabilities = new AppiumOptions();

            capabilities.AddAdditionalCapability(MobileCapabilityType.App, @"C:\temp\appium-hol\AppsToTest\WinForms\CarvedRock.exe");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Windows");
            capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "WindowsPC");

            //start the application
            var driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);

            // click add
            var addButton = driver.FindElementByName("AddNewItem");

            addButton.Click();

            // verify we are showing the dialog
            var AddDialogWindow = driver.FindElementByAccessibilityId("NewItemForm");

            var textLabel1 = AddDialogWindow.FindElementByAccessibilityId("label1");

            Assert.IsTrue(textLabel1 != null);

            var inputFieldItem = AddDialogWindow.FindElementByName("ItemText");

            inputFieldItem.Clear();
            inputFieldItem.SendKeys("New Item Text");

            var InputFieldItemDetail = AddDialogWindow.FindElementByName("ItemDetail");

            InputFieldItemDetail.Clear();
            InputFieldItemDetail.SendKeys("New item details text");

            //close the dialog
            var AddButton = AddDialogWindow.FindElementByAccessibilityId("button1");

            AddButton.Click();

            // scroll the list to the end
            var scrollDownButton = driver.FindElementByAccessibilityId("DownButton");

            scrollDownButton.Click();
            scrollDownButton.Click();

            // verify we can find the item in the list
            var listview   = driver.FindElementByAccessibilityId("listView1");
            var newElement = listview.FindElementByName("New Item Text");

            Assert.IsTrue(newElement != null);

            //stop the application
            driver.CloseApp();
            driver.Dispose();
        }
Пример #14
0
        public void OneTimeTearDownBase()
        {
            // Close the app and quit the driver
            driver.CloseApp();
            driver.Quit();

            // Dispose of the Appium Local Service
            appiumLocalService.Dispose();

            // Stop and dispose the local Web API server
            this.testEventuresApp.Dispose();
        }
Пример #15
0
        public void TestInstall3()
        {
            WindowsDriver <WindowsElement> Session = LaunchApp();

            WindowsElement LicenseLinkElement = Session.FindElementByName("Distribution License");

            LicenseLinkElement.Click();

            Thread.Sleep(TimeSpan.FromSeconds(2));
            Session.CloseApp();

            StopApp(Session);
        }
Пример #16
0
        private void CloseApplication(string applicationId)
        {
            session = Utility.CreateNewSession(applicationId);
            Assert.IsNotNull(session.SessionId);
            Assert.AreNotEqual(string.Empty, session.Title);
            Assert.AreNotEqual(string.Empty, session.CurrentWindowHandle);
            Assert.IsTrue(session.WindowHandles.Count > 0);

            session.CloseApp();

            Assert.IsNotNull(session.SessionId);
            Assert.AreEqual(0, session.WindowHandles.Count);

            try
            {
                session.CloseApp(); // Attempt to close already closed app
                Assert.Fail("Exception should have been thrown");
            }
            catch (InvalidOperationException exception)
            {
                Assert.AreEqual(ErrorStrings.NoSuchWindow, exception.Message);
            }
        }
Пример #17
0
        public void Test_Application_Start_and_Stop()
        {
            var capabilities = new AppiumOptions();

            capabilities.AddAdditionalCapability(MobileCapabilityType.App, @"C:\temp\appium-hol\AppsToTest\WinForms\CarvedRock.exe");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Windows");
            capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "WindowsPC");

            //start the application
            var driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);

            var screenshotFilename = Guid.NewGuid().ToString() + ".png";

            driver.GetScreenshot().SaveAsFile(screenshotFilename);
            _ctx.AddResultFile(screenshotFilename);

            // stop the application
            driver.CloseApp();
            driver.Dispose();
        }
Пример #18
0
        public void TestMethod1()
        {
            AppiumOptions options = new AppiumOptions
            {
                PlatformName = "Windows"
            };

            options.AddAdditionalCapability("platformVersion", "1.0");

            string exeFilePath = Path.Combine(Directory.GetCurrentDirectory(), "WpfApp.exe");

            options.AddAdditionalCapability("app", exeFilePath);

            WindowsDriver <WindowsElement> driver = new WindowsDriver <WindowsElement>(winAppDriverUri, options);

            Console.WriteLine(driver.CurrentWindowHandle);

            driver.CloseApp();
            driver.Quit();
        }
Пример #19
0
 public void ShutDown()
 {
     driver.CloseApp();
 }
Пример #20
0
 public void Stop()
 {
     _session?.CloseApp();
 }
Пример #21
0
 public void VerifyPower()
 {
     Assert.AreEqual($"Display is {nine}", GetCalculationResults(Actions.x2powerButton.ToString(), nine));
     _driver.CloseApp();
 }
Пример #22
0
 public void Close()
 {
     DesktopSession.CloseApp();
 }
 public void AfterTest()
 {
     driver?.CloseApp();
 }
Пример #24
0
 public void Close()
 {
     Thread.Sleep(5000);
     DesktopSession.CloseApp();
 }
        public void AddNewItemWithNewCategory()
        {
            var capabilities = new AppiumOptions();

            capabilities.AddAdditionalCapability(MobileCapabilityType.App, "8b831c56-bc54-4a8b-af94-a448f80118e7_sezxftbtgh66j!App");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Windows");
            capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "WindowsPC");

            var _appiumLocalService = new AppiumServiceBuilder().UsingAnyFreePort().Build();

            _appiumLocalService.Start();
            var driver = new WindowsDriver <WindowsElement>(_appiumLocalService, capabilities);

            // Create new Category item first
            var categoryButton = driver.FindElement(MobileBy.AccessibilityId("AddCategory"));

            categoryButton.Click();

            // fill out the form for a new category
            var categoryName = driver.FindElement(MobileBy.AccessibilityId("categoryName"));

            categoryName.Clear();
            categoryName.SendKeys("New category from automation");

            //save category
            var saveCategory = driver.FindElement(MobileBy.AccessibilityId("Save"));

            saveCategory.Click();

            var el1 = driver.FindElementByAccessibilityId("Add");

            el1.Click();

            var elItemText = driver.FindElementByAccessibilityId("ItemText");

            elItemText.Clear();
            elItemText.SendKeys("This is a new Item");

            var elItemDetail = driver.FindElementByAccessibilityId("ItemDescription");

            elItemDetail.Clear();
            elItemDetail.SendKeys("These are the details");

            var elItemCategory = driver.FindElement(MobileBy.AccessibilityId("ItemCategory"));

            elItemCategory.Click();

            var categoryListItem = elItemCategory.FindElement(By.Name("New category from automation"));

            categoryListItem.Click();

            var elSave = driver.FindElementByAccessibilityId("Save");

            elSave.Click();
            elSave.ClearCache();

            //wait for progress bar to disapear
            var wait = new DefaultWait <WindowsDriver <WindowsElement> >(driver)
            {
                Timeout         = TimeSpan.FromSeconds(60),
                PollingInterval = TimeSpan.FromMilliseconds(500)
            };

            wait.IgnoreExceptionTypes(typeof(NoSuchElementException));
            wait.Until(d => d.FindElementByName("Second item"));

            var listview = driver.FindElementByAccessibilityId("ItemsListView");

            //now use wait to scroll untill we find item
            wait = new DefaultWait <WindowsDriver <WindowsElement> >(driver)
            {
                Timeout         = TimeSpan.FromSeconds(60),
                PollingInterval = TimeSpan.FromMilliseconds(500)
            };
            wait.IgnoreExceptionTypes(typeof(NoSuchElementException));

            var elementfound = wait.Until(d =>
            {
                var input = new PointerInputDevice(PointerKind.Touch);
                ActionSequence FlickUp = new ActionSequence(input);
                FlickUp.AddAction(input.CreatePointerMove(listview, 0, 0, TimeSpan.Zero));
                FlickUp.AddAction(input.CreatePointerDown(MouseButton.Left));
                FlickUp.AddAction(input.CreatePointerMove(listview, 0, -300, TimeSpan.FromMilliseconds(200)));
                FlickUp.AddAction(input.CreatePointerUp(MouseButton.Left));
                driver.PerformActions(new List <ActionSequence>()
                {
                    FlickUp
                });

                return(d.FindElementByName("This is a new Item"));
            });

            Assert.IsTrue(elementfound != null);

            driver.CloseApp();
        }
 public void ShutDown()
 {
     driver.CloseApp();
     driver.Quit();
     appiumLocalService?.Dispose();
 }
Пример #27
0
        public void TestMLL()
        {
            // You can find the Application Id of your application in the generated AppX\vs.appxrecipe file under RegisteredUserModeAppID node. E.g. c24c8163-548e-4b84-a466-530178fc0580_scyf5npe3hv32!App
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", "1c0748ac-ce4c-4925-a3d3-e8cbd8d20db6_j0c0e5hxdtz1g!App");
            appCapabilities.SetCapability("deviceName", "Windows"); // Notwendig bei Start über Appium, nicht notwendig bei WinAppDriver.exe

            // Appium: http://127.0.0.1:4723/wd/hub
            // WinAppDriver.exe: http://127.0.0.1:4723
            using (var app = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), appCapabilities))
            {
                app.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(0.0);

                Assert.IsNotNull(app);
                Assert.IsNotNull(app.SessionId);

                var text1 = "Dies ist eine Aufgabe";
                var text2 = "Dies ist noch eine Aufgabe";
                // Use the session to control the app
                app.FindElementByName("Remove all").Click();

                var sc = app.GetScreenshot();
                sc.SaveAsFile("Screen1.png");

                app.FindElementByAccessibilityId("C_Task").Click();

                app.FindElementByAccessibilityId("C_Datum").Click();

                var Feb = app.FindElementByAccessibilityId("HeaderButton");
                Feb.Click();
                var Maerz = app.FindElementByName("März");
                Maerz.Click();
                var eins = app.FindElementByName("1");
                eins.Click();
                //app.FindElementByAccessibilityId("C_Datum").Click();

                app.FindElementByAccessibilityId("C_Task").SendKeys(text1);

                // https://github.com/Microsoft/WinAppDriver/blob/master/Tests/UWPControls/DatePicker.cs


                app.FindElementByName("Add").Click();

                app.FindElementByAccessibilityId("C_Task").SendKeys(text2);
                app.FindElementByName("Add").Click();

                var listenelemente = app.FindElements(By.XPath($"//ListItem"));
                Assert.AreEqual(2, listenelemente.Count);
                var e = listenelemente[0];
                Assert.AreEqual(e.Text, "EFC_UWP.DAL.Task");
                // app.FindElements(By.XPath($"//Button"))

                string b = app.FindElementByAccessibilityId("C_Details").Text;
                //Assert.AreEqual(System.DateTime.Now.ToShortDateString() + ": " + text1, b);
                Assert.AreEqual("01.03." + System.DateTime.Now.Year + ": " + text1, b);
                var alleAufgaben = app.FindElements(By.XPath($"//*[contains(@Name, \"Aufgabe\")]"));
                Assert.IsTrue(alleAufgaben[0].Text.Contains(text1));
                Assert.IsTrue(alleAufgaben[1].Text.Contains(text2));

                // geht so nicht, weil die Liste sich durch "Done" verändert
                //var alleAufgabenDoneButtons = app.FindElements(By.XPath($"//*[contains(@Name, \"Done\")]"));
                //foreach (var done in alleAufgabenDoneButtons.Reverse().ToList())
                //{
                // done.Click();
                //}

                ReadOnlyCollection <WindowsElement> alleAufgabenDoneButtons;
                do
                {
                    alleAufgabenDoneButtons = app.FindElements(By.XPath($"//*[contains(@Name, \"Done\")]"));
                    alleAufgabenDoneButtons[0].Click();
                } while (alleAufgabenDoneButtons.Count > 1);


                var listenelemente2 = app.FindElements(By.XPath($"//ListItem"));
                Assert.AreEqual(0, listenelemente2.Count);

                app.CloseApp();
            }
        }
Пример #28
0
 public void RestartApp()
 {
     _session.CloseApp();
     Init(WindowsTestBase.CreateWindowsDriver());
 }
Пример #29
0
 public static void Cleanup()
 {
     WindowsDriver.CloseApp();
     WindowsDriver.Dispose();
 }