Beispiel #1
0
        public static void Hover(this IWebDriver driver, IWebElement element)
        {
            try
            {
                var action = new OpenQA.Selenium.Interactions.Actions(driver);

                action.MoveToElement(element);
                action.MoveByOffset(1, 1);
                action.Build().Perform();
            }
            catch { }
        }
Beispiel #2
0
        public static void Hover(this IWebElement element)
        {
            try
            {
                var wrappedElement = element as IWrapsDriver;
                var driver         = wrappedElement.WrappedDriver;
                var action         = new OpenQA.Selenium.Interactions.Actions(driver);

                action.MoveToElement(element);
                action.MoveByOffset(1, 1);
                action.Build().Perform();
            }
            catch { }
        }
        /// <summary>
        /// Method is performing a mouse hover on a given IWebElement object.
        /// </summary>
        /// <param name="driver">IWebDriver object provided.</param>
        /// <param name="element">IWebElement element that receives the click action.</param>
        public static void Hover(this IWebDriver driver, IWebElement element)
        {
            try
            {
                var action = new OpenQA.Selenium.Interactions.Actions(driver);

                action.MoveToElement(element);
                action.MoveByOffset(1, 1);
                action.Build().Perform();
            }
            catch (Exception e)
            {
                throw new InternalActionException(string.Format("Unable to perform a mouse hover on object \"{0}\".\r\nSee:\r\n\t- {1}{2}", element,
                                                                e.Message, (e.InnerException == null ? "" : string.Format("\r\n\t- {0}", e.InnerException.Message))), e);
            }
        }
Beispiel #4
0
        public static void HoverAndWait(this IWebDriver driver, IWebElement element, By newObject, int timespan = 5)
        {
            try
            {
                var action = new OpenQA.Selenium.Interactions.Actions(driver);
                var wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(timespan));

                action.MoveToElement(element);
                action.MoveByOffset(1, 1);
                action.Build().Perform();

                wait.Until(ExpectedConditions.ElementExists(newObject));
                wait.Until(ExpectedConditions.ElementIsVisible(newObject));
            }
            catch { }
        }
        /// <summary>
        /// Method is performing a mouse hover on a given IWebElement object, it then waits for specific length of time for a new IWebElement object to be visible given its path.
        /// </summary>
        /// <param name="driver">IWebDriver object provided.</param>
        /// <param name="element">IWebElement element that receives the click action.</param>
        /// <param name="path">Path of element that needs to be visible after the mouse hover action.</param>
        /// <param name="timespan">The maximum time to wait for the element to be visible.</param>
        public static void HoverAndWait(this IWebDriver driver, IWebElement element, By path, int timespan = 5)
        {
            try
            {
                var action = new OpenQA.Selenium.Interactions.Actions(driver);
                var wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(timespan));

                action.MoveToElement(element);
                action.MoveByOffset(1, 1);
                action.Build().Perform();

                wait.Until(ExpectedConditions.ElementExists(path));
                wait.Until(ExpectedConditions.ElementIsVisible(path));
            }
            catch (Exception e)
            {
                throw new InternalActionException(string.Format("Unable to perform a mouse hover on object \"{0}\" or wait for new object to be visible \"{1}\".\r\nSee:\r\n\t- {2}{3}", element, path,
                                                                e.Message, (e.InnerException == null ? "" : string.Format("\r\n\t- {0}", e.InnerException.Message))), e);
            }
        }
Beispiel #6
0
        public void Group_Test()
        {
            driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(30));
            driver.Navigate().GoToUrl(this.baseURL);
            driver.FindElementById("email").Clear();
            driver.FindElementById("email").SendKeys("*****@*****.**");
            driver.FindElementById("password").Clear();
            driver.FindElementById("password").SendKeys("password");
            //Thread.Sleep(2 * 1000);
            driver.FindElementById("submit").Click();
            Assert.IsTrue(driver.FindElementById("meta").GetAttribute("name").Equals("Main"));
            driver.FindElementById("myGroups").Click();
            Assert.IsTrue(driver.FindElementById("meta").GetAttribute("name").Equals("MyGroups"));
            driver.FindElementByClassName("navbar-brand").Click();
            Assert.IsTrue(driver.FindElementById("meta").GetAttribute("name").Equals("Main"));
            driver.FindElementById("myGroups").Click();
            Assert.IsTrue(driver.FindElementById("meta").GetAttribute("name").Equals("MyGroups"));
            SelectElement selector = new SelectElement(driver.FindElementById("groupInvites"));

            selector.SelectByText("Basic diagnosis (created by [email protected])");
            driver.FindElementById("submit").Click();
            selector = new SelectElement(driver.FindElementById("groupInvites"));
            selector.SelectByIndex(0);
            selector.SelectByIndex(1);
            driver.FindElementsByName("submitButton")[1].Click();
            driver.FindElementById("Basic diagnosis (created by [email protected])").Click();
            Assert.IsTrue(driver.FindElementById("meta").GetAttribute("name").Equals("Group"));
            selector = new SelectElement(driver.FindElementById("TestId"));
            selector.SelectByIndex(0);
            driver.FindElementById("submit").Click();
            Assert.IsTrue(driver.FindElementById("meta").GetAttribute("name").Equals("Answer Question"));
            driver.FindElementsByName("norm")[1].Click();
            IWebElement slider = driver.FindElementByName("sure1");

            OpenQA.Selenium.Interactions.Actions actions = new OpenQA.Selenium.Interactions.Actions(driver);
            actions.ClickAndHold(slider);
            actions.MoveByOffset(40, 0).Build().Perform();
            actions.Release(slider);
            driver.FindElementByClassName("TokenSearch").FindElement(By.TagName("input")).SendKeys("ca");
            driver.FindElementByClassName("Dropdown").FindElement(By.TagName("li")).Click();
            IWebElement slider2 = driver.FindElementByName("sure2");

            actions.ClickAndHold(slider2);
            actions.MoveByOffset(25, 0).Build().Perform();
            actions.Release();
            driver.FindElementById("submit").Click();
            for (int i = 1; i <= 8; i++)
            {
                driver.FindElementById("submit").Click();
            }
            bool presentFlag = false;

            try
            {
                // Check the presence of alert
                IAlert alert = driver.SwitchTo().Alert();
                // Alert present; set the flag
                presentFlag = true;
                //Thread.Sleep(3000);
                // if present consume the alert
                alert.Accept();
            }
            catch (NoAlertPresentException ex)
            {
                Assert.IsTrue(false);
            }
            Assert.IsTrue(presentFlag);
            Assert.IsTrue(driver.FindElementById("meta").GetAttribute("name").Equals("Main"));
            driver.Close();
        }
Beispiel #7
0
 /// <summary>Moving the mouse to an offset from current mouse position.</summary>
 /// <param name="offset_x">X offset to move to.</param>
 /// <param name="offset_y">Y offset to move to.</param>
 /// <returns></returns>
 public Actions moveByOffset(int offset_x, int offset_y)
 {
     _actions.MoveByOffset(offset_x, offset_y);
     return(this);
 }