예제 #1
0
 /// <summary>Sends a key press only, without releasing it. Should only be used with modifier keys (Control, Alt and Shift).</summary>
 /// <param name="key">The modifier key to send. Values are defined in Keys class.</param>
 /// <param name="webelement">The element to send keys. If None, sends a key to current focused element.</param>
 /// <returns></returns>
 public Actions keyDown(string key, WebElement webelement = null)
 {
     if (webelement == null)
     {
         _actions.KeyDown(key);
     }
     else
     {
         _actions.KeyDown(webelement._webElement, key);
     }
     return(this);
 }
예제 #2
0
        /// <summary>
        /// Method performing a control click on multiple IWebElement objects.
        /// </summary>
        /// <param name="driver">IWebDriver object to execute method.</param>
        /// <param name="elements">The set of elements to perform the clicks.</param>
        public static void ControlClick(this IWebDriver driver, params IWebElement[] elements)
        {
            try
            {
                if (elements == null)
                {
                    return;
                }
                if (elements.Length == 0)
                {
                    return;
                }

                var action = new OpenQA.Selenium.Interactions.Actions(driver);

                action.KeyDown(Keys.Control);
                foreach (IWebElement element in elements)
                {
                    action.MoveToElement(element);
                    action.MoveToElement(element).Click();
                }
                action.KeyUp(Keys.Control);
                action.Build().Perform();
            }
            catch { }
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="driver"></param>
        /// <param name="element"></param>
        /// <param name="key"></param>
        public static void Insert(this IWebDriver driver, IWebElement element, string key)
        {
            try
            {
                var action = new OpenQA.Selenium.Interactions.Actions(driver);

                action.MoveToElement(element);
                action.KeyDown(key);
                action.KeyUp(key.ToString());
                action.Build().Perform();
            }
            catch { }
        }
예제 #4
0
        public void How_To_Enter_Text_Caps_Lock()
        {
            OpenQA.Selenium.Interactions.Actions action = new OpenQA.Selenium.Interactions.Actions(chromedriver);
            //action.KeyDown(object, "SHIFT");
            action.KeyDown(Keys.Shift);
            action.SendKeys("ab");
            action.Build().Perform();
            string pageTitle = chromedriver.Title;

            //driver.FindElements(By.XPath("")).Count();
            OpenQA.Selenium.Support.UI.SelectElement selectElement = new OpenQA.Selenium.Support.UI.SelectElement(chromedriver.FindElement(By.XPath("")));
            //selectElement.
        }
예제 #5
0
        /// <summary>
        /// Method performing specific key pressed.
        /// </summary>
        /// <param name="element">IWebElement element that receives the click action.</param>
        /// <param name="keystr"></param>
        public static void Insert(this IWebElement element, string keystr)
        {
            try
            {
                var wrappedElement = element as IWrapsDriver;
                var driver         = wrappedElement.WrappedDriver;
                var action         = new OpenQA.Selenium.Interactions.Actions(driver);

                action.MoveToElement(element);
                action.KeyDown(keystr);
                action.KeyUp(keystr.ToString());
                action.Build().Perform();
            }
            catch { }
        }
예제 #6
0
        /// <summary>
        /// Method performing a multi-click selection given two IWebElement objects. Use on a list of objects, it should also select all elements found within the given objects.
        /// </summary>
        /// <param name="driver">IWebDriver object to execute method.</param>
        /// <param name="firstElement">First IWebElement object onto which first click is performed.</param>
        /// <param name="secondElement">Second IWebElement object onto which second click is performed.</param>
        public static void ShiftClick(this IWebDriver driver, IWebElement firstElement, IWebElement secondElement)
        {
            try
            {
                var action = new OpenQA.Selenium.Interactions.Actions(driver);

                action.MoveToElement(firstElement);
                action.MoveToElement(firstElement).Click();

                action.KeyDown(Keys.Shift);

                action.MoveToElement(secondElement);
                action.MoveToElement(secondElement).Click();

                action.KeyUp(Keys.Shift);
                action.Build().Perform();
            }
            catch { }
        }
예제 #7
0
        /// <summary>
        /// Method performing a control click on multiple IWebElement objects.
        /// </summary>
        /// <param name="firstElement">First IWebElement object onto which first click is performed.</param>
        /// <param name="elements">The set of elements to perform the clicks.</param>
        public static void ControlClick(this IWebElement firstElement, params IWebElement[] elements)
        {
            try
            {
                var wrappedElement = firstElement as IWrapsDriver;
                var driver         = wrappedElement.WrappedDriver;
                var action         = new OpenQA.Selenium.Interactions.Actions(driver);

                action.MoveToElement(firstElement);
                action.MoveToElement(firstElement).Click();

                action.KeyDown(Keys.Control);
                foreach (IWebElement element in elements)
                {
                    action.MoveToElement(element);
                    action.MoveToElement(element).Click();
                }
                action.KeyUp(Keys.Control);
                action.Build().Perform();
            }
            catch { }
        }
예제 #8
0
 public IKeyActions KeyDown(string theKey)
 {
     actions.KeyDown(theKey);
     return(this);
 }