Пример #1
0
 protected void DeletePreviouslyCreatedAlarmEntry(string alarmName)
 {
     while (true)
     {
         try
         {
             var alarmEntry = session.FindElementByXPath($"//ListItem[starts-with(@Name, \"{alarmName}\")]");
             session.Mouse.ContextClick(alarmEntry.Coordinates);
             Thread.Sleep(TimeSpan.FromSeconds(3));
             session.FindElementByName("Delete").Click();
         }
         catch
         {
             break;
         }
     }
 }
Пример #2
0
        public void TearDown()
        {
            if (_driver != null)

            {
                _driver.Close();
                try
                {
                    _driver.FindElementByName("Don't Save").Click();;
                }
                catch
                {
                    _driver.Quit();
                    _driver = null;
                }
            }
        }
Пример #3
0
        public void OneTimeTearDown()
        {
            ReturnToMainPage();
            SwitchToAlarmTab();

            // Delete all created alarms
            var alarmEntries = AlarmClockSession.FindElementsByName("Windows Application Driver Test Alarm");

            foreach (var alarmEntry in alarmEntries)
            {
                AlarmClockSession.Mouse.ContextClick(alarmEntry.Coordinates);
                AlarmClockSession.FindElementByName("Delete").Click();
            }

            AlarmClockSession.Dispose();
            AlarmClockSession = null;
        }
Пример #4
0
        public static void TestBug10763()
        // Preference: "Use wheel for zoom" is not kept
        {
            Driver.FindElementByName("Preferences").Click();

            var preferences = jupiter.FindElementByName("Preferences");

            preferences.FindElementByName("Mouse").Click();
            preferences.FindElementByName("MyPreset1").Click();
            var useWheel = preferences.FindElementByAccessibilityId("2037");

            if (!useWheel.Selected)
            {
                useWheel.Click();
                preferences.FindElementByName("OK").Click();
                Driver.Close();

                Thread.Sleep(4000);

                AppiumOptions appOptions = new AppiumOptions();
                Assert.IsNotNull(appOptions);
                appOptions.AddAdditionalCapability("app", @"C:\Program Files\TechnoStar\Jupiter-Post_4.1.2\PCAD_main.exe");
                Driver = new WindowsDriver <WindowsElement>(
                    new Uri("http://127.0.0.1:4723"),
                    appOptions,
                    TimeSpan.FromMinutes(5)
                    );
                Assert.IsNotNull(Driver);
                Assert.IsNotNull(Driver.SessionId);

                wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(50));
                Assert.IsNotNull(wait);
                Driver.Manage().Window.Maximize();
                jupiter = Driver.FindElementByXPath("//Window[starts-with(@Name,'Jupiter-Post 4.1.2')]");
                toolBar = Driver.FindElementByName("Ribbon Tabs");
            }

            Driver.FindElementByName("Preferences").Click();

            preferences = jupiter.FindElementByName("Preferences");
            preferences.FindElementByName("Mouse").Click();
            preferences.FindElementByName("MyPreset1").Click();
            useWheel = preferences.FindElementByAccessibilityId("2037");
            Assert.IsTrue(useWheel.Selected);
            Thread.Sleep(2000);
        }
Пример #5
0
        // find a existing/running app on desktop
        public static WindowsDriver <WindowsElement> AttachExistingSession(string appName)
        {
            WindowsDriver <WindowsElement> desktopSession = CreateDesktopSession();
            WindowsElement appWindow = desktopSession.FindElementByName(appName);

            string appWindowHandle = appWindow.GetAttribute("NativeWindowHandle");
            // to hex
            string hexWindowHandle = (int.Parse(appWindowHandle)).ToString("x");

            // create session by attaching to app top level window

            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("appTopLevelWindow", hexWindowHandle);

            return(new WindowsDriver <WindowsElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities));
        }
Пример #6
0
 // Check the header of the calculator, switch it if no match between header and type
 public void GetCalculatorType(string type)
 {
     try
     {
         if (!type.Contains(Header.Text))
         {
             _wait.Until(pred => paneButton.Displayed);
             paneButton.Click();
             var calcType = _driver.FindElementByName(type);
             _wait.Until(pred => calcType.Displayed);
             calcType.Click();
         }
     }
     catch (InvalidOperationException ex)
     {
         throw new InvalidOperationException($"The type must be of the type element name. {ex}");
     }
 }
Пример #7
0
        public void CreateSessionWithArguments_ClassicApp()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", CommonTestSettings.NotepadAppId);
            appCapabilities.SetCapability("appArguments", "NonExistentTextFile.txt");
            session = new WindowsDriver <WindowsElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities);
            Assert.IsNotNull(session);
            Assert.IsNotNull(session.SessionId);

            // Verify that Notepad file not found dialog is displayed and dismiss it
            var notFoundDialog = session.FindElementByName("Notepad");

            Assert.AreEqual("ControlType.Window", notFoundDialog.TagName);
            notFoundDialog.FindElementByName("No").Click();

            Assert.IsTrue(session.Title.Contains("Notepad"));
        }
Пример #8
0
        public void ChangeDataGridValues()
        {
            var clickImport = windowsDriver.FindElementByName("Import from DataBase");

            clickImport.Click();
            var datagridview2 = windowsDriver.FindElementByAccessibilityId("dataGridView");

/*
 *          datagridview2.FindElementByName("Firma Wiersz 4, Nie posortowano.").Click();
 *          datagridview2.FindElementByName("Firma Wiersz 4, Nie posortowano.").SendKeys("Test");
 *          datagridview2.FindElementByName("Procesor Wiersz 2, Nie posortowano.").Click();
 *          datagridview2.FindElementByName("Procesor Wiersz 2, Nie posortowano.").SendKeys("Test2");
 *          datagridview2.FindElementByName("Firma Wiersz 1, Nie posortowano.").Click();
 *          datagridview2.FindElementByName("Firma Wiersz 1, Nie posortowano.").SendKeys("One");
 *          datagridview2.FindElementByName("Napęd optyczny Wiersz 10, Nie posortowano.").Click();
 *          datagridview2.FindElementByName("Napęd optyczny Wiersz 10, Nie posortowano.").SendKeys("BlueRay");*/
            windowsDriver.FindElementByAccessibilityId("Integracja- Jerzy Antoniuk").SendKeys("{ALT}+{F4}");
        }
Пример #9
0
        public static void TearDown()
        {
            // Close the application and delete the session
            if (session != null)
            {
                session.Close();

                try
                {
                    // Dismiss Save dialog if it is blocking the exit
                    session.FindElementByName("Don't Save").Click();
                }
                catch { }

                session.Quit();
                session = null;
            }
        }
Пример #10
0
        public void TestMethod3()
        {
            var firefox = @"C:\Program Files\Mozilla Firefox\firefox.exe";

            var options = new AppiumOptions();

            options.AddAdditionalCapability("app", firefox);

            var driver = new WindowsDriver <WindowsElement>(new Uri(" http://127.0.0.1:4723/"), options);

            var searchBox = driver.FindElementByName("Search with Google or enter address");

            searchBox.SendKeys("www.google.com.ar");
            searchBox.SendKeys(Keys.Enter);


            driver.Close();
        }
        public static void CreateSession(TestContext _)
        {
            if (_session == null)
            {
                AppiumOptions appiumOptions = new AppiumOptions();
                appiumOptions.AddAdditionalCapability("app", AppUIBasicAppId);
                appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC");
                try
                {
                    _session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appiumOptions);
                }
                catch (OpenQA.Selenium.WebDriverException) { }
                Thread.Sleep(3000);
                if (_session == null)
                {
                    // WinAppDriver is probably not running, so lets start it!
                    Process.Start(@"C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe");

                    Thread.Sleep(10000);
                    _session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appiumOptions);
                }
                Assert.IsNotNull(_session);
                Assert.IsNotNull(_session.SessionId);

                // Dismiss the disclaimer window that may pop up on the very first application launch
                // If the disclaimer is not found, this throws an exception, so lets catch that
                try
                {
                    _session.FindElementByName("Disclaimer").FindElementByName("Accept").Click();
                }
                catch (OpenQA.Selenium.WebDriverException) { }

                // Wait if something is still animating in the visual tree
                _session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(3);
                _session.Manage().Window.Maximize();

                var processes = Process.GetProcessesByName("UWP Resources Gallery");
                Assert.IsTrue(processes.Length > 0);

                var config = Config.Builder.ForProcessId(processes[0].Id).Build();

                AccessibilityScanner = ScannerFactory.CreateScanner(config);
            }
        }
Пример #12
0
        public static WindowsDriver <WindowsElement> abrirFenix()
        {
            if (session == null)
            {
                DesiredCapabilities appCapabilities = new DesiredCapabilities();
                appCapabilities.SetCapability("app", EXECUTAVEL_FENIX);


                try
                {
                    session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
                }

                catch (Exception e)
                {
                    string message = e.Message;
                }


                Assert.IsNotNull(session);
                Assert.IsNotNull(session.SessionId);

                var currentWindowHandle = session.CurrentWindowHandle;

                Thread.Sleep(TimeSpan.FromSeconds(3));

                var allWindowHandles = session.WindowHandles;

                session.SwitchTo().Window(allWindowHandles[0]);

                try
                {
                    WindowsElement element = session.FindElementByName("Novidades das versões");
                    //element.FindElementByXPath(WindowsObjects.JanelaPrincipal.ICONE_FECHAR_APLICACAO).Click();
                    session.FindElementByXPath(WindowsObjects.JanelaPrincipal.ICONE_FECHAR_APLICACAO).Click();
                }
                catch (Exception e)
                {
                    string message = e.Message;
                }
            }

            return(session);
        }
Пример #13
0
        public void EnterText()
        {
            // Enter text into the edit field
            var editBox = NotepadSession.FindElementByClassName("Edit");

            editBox.SendKeys(TextValue);
            Assert.AreEqual(TextValue, editBox.Text);

            // Enter TimeStamp
            NotepadSession.FindElementByName("Edit").Click();
            NotepadSession.FindElementByName("Time/Date").Click();
            Assert.AreNotEqual(TextValue, editBox.Text);
        }
Пример #14
0
        protected static void Init(string url, string id, TestContext context)
        {
            if (Session == null)
            {
                //close app
                Close();

                //check condition
                PreInit(ref url);

                try
                {
                    AppiumOptions appCapabilities = new AppiumOptions();
                    appCapabilities.AddAdditionalCapability("app", id);
                    appCapabilities.AddAdditionalCapability("ms:experimental-webdriver", true);
                    Session = new WindowsDriver <WindowsElement>(new Uri(url), appCapabilities);
                }
                catch (Exception)
                {
                    AppiumOptions desktopCapabilities = new AppiumOptions();
                    desktopCapabilities.AddAdditionalCapability("app", "Root");
                    var desktop = new WindowsDriver <WindowsElement>(new Uri(url), desktopCapabilities);

                    WindowsElement recovery = desktop.FindElementByName(NameApp);
                    var            hwid     = (Int32.Parse(recovery.GetAttribute("NativeWindowHandle"))).ToString("x");

                    AppiumOptions app = new AppiumOptions();
                    app.AddAdditionalCapability("appTopLevelWindow", hwid);
                    app.AddAdditionalCapability("ms:experimental-webdriver", true);
                    Session = new WindowsDriver <WindowsElement>(new Uri(url), app);
                }

                //wait load
                TimeWait();

                //create actions
                if (Actions == null)
                {
                    Actions = new Actions(Session);
                }
            }
        }
Пример #15
0
        public void MouseClick()
        {
            // Locate the calculatorResult element
            WindowsElement calculatorResult = session.FindElementByAccessibilityId("CalculatorResults");

            Assert.IsNotNull(calculatorResult);

            // Implicitly invoke /session/:sessionId/moveto and /session/:sessionId/click
            WindowsElement num8Button = session.FindElementByAccessibilityId("num8Button");

            session.Mouse.Click(num8Button.Coordinates);
            Assert.AreEqual("8", calculatorResult.Text.Replace("Display is", string.Empty).Trim());

            // Explicitly invoke /session/:sessionId/moveto and then /session/:sessionId/click on the current position
            WindowsElement clearButton = session.FindElementByAccessibilityId("clearButton");

            session.Mouse.MouseMove(clearButton.Coordinates);
            session.Mouse.Click(null);
            Assert.AreEqual("0", calculatorResult.Text.Replace("Display is", string.Empty).Trim());

            // Open a context menu on the application title bar to expose the context menu and verify that it contains minimize.
            // The context menu is parented on the desktop instead of the application. Thus, a desktop session is used to find it.
            // This command implicitly invoke /session/:sessionId/moveto and /session/:sessionId/click with button 2 parameter
            WindowsElement appNameTitle = session.FindElementByAccessibilityId("AppNameTitle");

            session.Mouse.ContextClick(appNameTitle.Coordinates);
            Thread.Sleep(TimeSpan.FromSeconds(1.5));
            WindowsDriver <WindowsElement> desktopSession = Utility.CreateNewSession(CommonTestSettings.DesktopAppId);

            try
            {
                Assert.IsNotNull(desktopSession.FindElementByName("System").FindElementByName("Minimize"));
                clearButton.Click(); // Dismiss the context menu
            }
            finally
            {
                if (desktopSession != null)
                {
                    desktopSession.Quit();
                }
            }
        }
Пример #16
0
        public static WindowsElement GetWindowsElement()
        {
            AppiumOptions options = new AppiumOptions();

            options.AddAdditionalCapability("app", "Root");
            Session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), options);

            new Actions(Session)
            .SendKeys(Keys.Meta + "s" + Keys.Meta)
            .Perform();

            try
            {
                return(Session.FindElementByName("WinUI Desktop"));
            }
            catch { }

            StartupApplication();
            return(GetWindowsElement());
        }
Пример #17
0
 public static void Setup(TestContext context)
 {
     if (session == null)
     {
         DesiredCapabilities appCapabilities = new DesiredCapabilities();
         appCapabilities.SetCapability("app", StyleTransferAppId);
         appCapabilities.SetCapability("deviceName", "WindowsPC");
         session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
         Assert.IsNotNull(session);
     }
     // wait for first style transfer to be done
     Thread.Sleep(styleTransferTimeout);
     styleElements = new Dictionary <Style, WindowsElement>();
     foreach (Style style in (Style[])Enum.GetValues(typeof(Style)))
     {
         styleElements[style] = session.FindElementByName(style.ToString().ToLower());
     }
     resultImage = session.FindElementByAccessibilityId("UIResultImage");
     statusBlock = session.FindElementByAccessibilityId("StatusBlock");
 }
Пример #18
0
        public void SendModifierWindowsKey()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

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

            Assert.IsNotNull(desktopSession);

            // Lauch action center using Window Keys + A
            session.Keyboard.PressKey(OpenQA.Selenium.Keys.Command + "a" + OpenQA.Selenium.Keys.Command);
            var actionCenterElement = desktopSession.FindElementByName("Action Center");

            Assert.IsNotNull(actionCenterElement);

            // Dismiss action center and cleanup the temporary session
            actionCenterElement.SendKeys(OpenQA.Selenium.Keys.Escape);
            editBox.SendKeys(OpenQA.Selenium.Keys.Escape);
            desktopSession.Quit();
        }
Пример #19
0
        public void SendKeys_ModifierWindowsKey()
        {
            WindowsDriver <WindowsElement> desktopSession = Utility.CreateNewSession(CommonTestSettings.DesktopAppId);

            Assert.IsNotNull(desktopSession);

            // Launch action center using Window Keys + A
            session.Keyboard.SendKeys(Keys.Command + "a" + Keys.Command);
            Thread.Sleep(TimeSpan.FromSeconds(2));

            // Verify that Action Center pane is displayed
            WindowsElement actionCenterElement = desktopSession.FindElementByName("Action center");

            Assert.IsNotNull(actionCenterElement);
            Assert.IsNotNull(actionCenterElement.FindElementByName("Tablet mode"));

            // Dismiss action center and cleanup the temporary session
            actionCenterElement.SendKeys(Keys.Escape);
            editBox.Click();
            desktopSession.Quit();
        }
Пример #20
0
        public static WindowsElement GetElementByName(
            this WindowsDriver <WindowsElement> driver,
            string name,
            TimeSpan?timeout         = null,
            TimeSpan?pollingInterval = null)
        {
            if (driver is null)
            {
                throw new ArgumentNullException(nameof(driver));
            }

            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException($"'{nameof(name)}' cannot be null or empty", nameof(name));
            }

            DefaultWait wait = GetWait(driver, timeout, pollingInterval);

            wait.IgnoreExceptionTypes(typeof(WebDriverException));
            return(wait.Until(driver => driver.FindElementByName(name) !));
        }
Пример #21
0
        public void DeleteMovieTest()
        {
            string username = "******"; string password = "******";
            WindowsDriver <WindowsElement> session = Initialize();

            session = WorkflowLogin(session, username, password);
            Assert.AreEqual(session.WindowHandles.Count, 1);

            // Main Page
            session.SwitchTo().Window(session.WindowHandles.Last());
            Assert.IsTrue(session.FindElementsByClassName("DataGridRow").Count > 0);

            WindowsElement   eDeleteRow            = session.FindElementsByClassName("DataGridRow").ElementAt(0);
            AppiumWebElement eDeleteButton         = eDeleteRow.FindElementByName("Delete");

            eDeleteButton.Click();

            session.SwitchTo().Window(session.WindowHandles[0]);
            WindowsElement eYes = session.FindElementByName("Yes");

            eYes.Click();
        }
Пример #22
0
        public void TestInit()
        {
            var options = new AppiumOptions();

            options.AddAdditionalCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App");
            options.AddAdditionalCapability("deviceName", "WindowsPC");
            _driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723"), options);
            _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

            _calcStandardView  = new StandardCalculatorPage(_driver);
            _calculatorResults = new CalculatorResults(_driver);
            _historyPage       = new HistoryPage(_driver);
            _memoryPage        = new MemoryPage(_driver);

            // Identify calculator mode by locating the header
            try
            {
                header = _driver.FindElementByAccessibilityId("Header");
            }
            catch
            {
                header = _driver.FindElementByAccessibilityId("ContentPresenter");
            }

            // Ensure that calculator is in standard mode
            if (!header.Text.Equals("Standard", StringComparison.OrdinalIgnoreCase))
            {
                _driver.FindElementByName("Open Navigation").Click();
                Thread.Sleep(TimeSpan.FromSeconds(1));
                var menu = _driver.FindElementByClassName("SplitViewPane");
                menu.FindElementByName("Standard Calculator").Click();
                _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1);
                Assert.IsTrue(header.Text.Equals("Standard", StringComparison.OrdinalIgnoreCase));
            }

            // Locate the calculatorResult element
            calculatorResult = _driver.FindElementByAccessibilityId("CalculatorResults");
            Assert.IsNotNull(calculatorResult);
        }
        public static void Setup(TestContext context)
        {
            // Launch a new instance of Dashboard application
            if (session == null)
            {
                // Create a new session to launch Dashboard application
                DesiredCapabilities appCapabilities = new DesiredCapabilities();
                appCapabilities.SetCapability("app", DashboardAppId);
                session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
                Assert.IsNotNull(session);
                Assert.IsNotNull(session.SessionId);

                // Verify that app is started
                Assert.AreEqual("Standprof - Automated Test Results Dashboard", session.Title);

                // Set implicit timeout to 1.5 seconds to make element search to retry every 500 ms for at most three times
                session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);

                var searchButton = session.FindElementByName("Search");
                Assert.IsNotNull(searchButton);
            }
        }
Пример #24
0
        public void TestDefault3()
        {
            WindowsDriver <WindowsElement> Session = LaunchApp();

            DoubleClickBox(Session);

            WindowsElement CheckIsEditableElement = Session.FindElementByName("Editable");

            CheckIsEditableElement.Click();
            Thread.Sleep(TimeSpan.FromSeconds(2));

            ClickBox(Session);

            CheckIsEditableElement.Click();
            Thread.Sleep(TimeSpan.FromSeconds(2));

            ClickBox(Session);

            CheckIsEditableElement.Click();
            Thread.Sleep(TimeSpan.FromSeconds(2));

            StopApp(Session);
        }
Пример #25
0
        private static void ApplicationPreconditions()
        {
            // Driver status
            var message = $"Please check that the application under test is available in '{ApplcationPath}'.";

            session.Should().NotBeNull($"the application session is not available. {message}");
            session.SessionId.Should().NotBeNull($"the application session id is not available. {message}");

            // Configure App for updates
            try
            {
                WindowsElement enableButton = session.FindElementByName("\"Disable\"");
                if (enableButton != null)
                {
                    enableButton.Click();
                }
            }
            catch { }


            // Application under tests status
            session.Title.Should().Be("KeePass");
        }
        public void BeforeTest()
        {
            var ops = new AppiumOptions();

            ops.AddAdditionalCapability("app", "Root");
            driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4724"), ops);

            driver.Keyboard.PressKey(Keys.Command + "s" + Keys.Command);
            Thread.Sleep(1000);
            driver.Keyboard.PressKey("Twitter");
            Thread.Sleep(1000);
            driver.Keyboard.PressKey(Keys.Enter);
            Thread.Sleep(1000);
            driver.Keyboard.PressKey(Keys.Escape);

            var twitterWindow = driver.FindElementByName("Twitter");
            var twitterHandle = int.Parse(twitterWindow.GetAttribute("NativeWindowHandle")).ToString("x");

            ops = new AppiumOptions();
            ops.AddAdditionalCapability("appTopLevelWindow", twitterHandle);
            driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4724"), ops);
            //System.Xml.Linq.XDocument.Parse(driver.PageSource).Save("test3.xml", System.Xml.Linq.SaveOptions.None);
        }
Пример #27
0
        public static void TearDown()
        {
            ReturnToMainPage();
            SwitchToAlarmTab();

            // Delete all created alarms
            while (true)
            {
                try
                {
                    var alarmEntry = AlarmClockSession.FindElementByXPath(string.Format("//ListItem[starts-with(@Name, \"{0}\")]", NewAlarmName));
                    AlarmClockSession.Mouse.ContextClick(alarmEntry.Coordinates);
                    AlarmClockSession.FindElementByName("Delete").Click();
                }
                catch
                {
                    break;
                }
            }

            AlarmClockSession.Quit();
            AlarmClockSession = null;
        }
Пример #28
0
        public static void Setup2(TestContext context, String applicationTitle)
        {
            DesiredCapabilities rootCapabilities = new DesiredCapabilities();

            rootCapabilities.SetCapability("platformName", "Windows");
            rootCapabilities.SetCapability("deviceName", "WindowsPC");
            rootCapabilities.SetCapability("app", "Root");
            DesktopSession = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4723/wd/hub"), rootCapabilities);

            //setup session
            var ApplicationWindow = DesktopSession.FindElementByName(applicationTitle);
            var ApplicationTopLevelWindowHandle = ApplicationWindow.GetAttribute("NativeWindowHandle");

            ApplicationTopLevelWindowHandle = (int.Parse(ApplicationTopLevelWindowHandle)).ToString("x");//Convert to Hex
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("platformName", "Windows");
            appCapabilities.SetCapability("deviceName", "WindowsPC");
            appCapabilities.SetCapability("appTopLevelWindow", ApplicationTopLevelWindowHandle);
            session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);

            //}
        }
Пример #29
0
        public static WindowsDriver <WindowsElement> GetDesktopDriver()
        {
            var ops = new AppiumOptions();

            ops.AddAdditionalCapability("app", "Root");
            var driver = new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4724"), ops);

            driver.Keyboard.PressKey(Keys.Command + "s" + Keys.Command);
            Thread.Sleep(2000);
            driver.Keyboard.PressKey("Twitter");
            Thread.Sleep(2000);
            driver.Keyboard.PressKey(Keys.Enter);
            Thread.Sleep(2000);
            driver.Keyboard.PressKey(Keys.Escape);

            var twitterWindow = driver.FindElementByName("Twitter");
            var twitterHandle = int.Parse(twitterWindow.GetAttribute("NativeWindowHandle")).ToString("x");

            ops = new AppiumOptions();
            ops.AddAdditionalCapability("appTopLevelWindow", twitterHandle);

            return(new WindowsDriver <WindowsElement>(new Uri("http://127.0.0.1:4724"), ops));
        }
Пример #30
0
        public void TestMethod3()
        {
            if (session == null)
            {
                Thread.Sleep(3000);
                DesiredCapabilities appCapabilities = new DesiredCapabilities();
                appCapabilities.SetCapability("app", Meca);
                appCapabilities.SetCapability("deviceName", "WindowsPC");
                session = new WindowsDriver <WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
                Assert.IsNotNull(session);
                Thread.Sleep(10000);
                session.SwitchTo().Window(session.WindowHandles[0]);
                session.FindElementByAccessibilityId("invoiceTileButton").Click();
                Thread.Sleep(4000);
                session.FindElementByName("Cliquer ici pour ajouter un nouvel enregistrement").Click();


                /****session.SwitchTo().Window(session.WindowHandles[0]);
                 * session.FindElementByName("Paramètres").Click();
                 * WindowsElement appNameTitle = session.FindElementByName("Divers");
                 * const int offset = 20;
                 * session.Mouse.MouseMove(appNameTitle.Coordinates);
                 * session.Mouse.MouseDown(null); // Pass null as this command omit the given parameter
                 * session.Mouse.MouseMove(appNameTitle.Coordinates, offset, offset);
                 * session.Mouse.MouseUp(null);***/



                /***session.SwitchTo().Window(session.WindowHandles[0]);
                 * session.FindElementByAccessibilityId("quotesTileButton").Click();
                 * Thread.Sleep(10000);
                 * session.FindElementByName("Cliquer ici pour ajouter un nouvel enregistrement").Click();
                 * Thread.Sleep(6000);
                 * session.SwitchTo().Window(session.WindowHandles[0]);
                 * session.FindElementByName("Fermer").Click();***/
            }
        }