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 { } }
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); } }
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); } }
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(); }
/// <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); }