Beispiel #1
0
 public MyComboBox(By selectorLocator = null, By optionsNamesLocatorTemplate = null)
     : base(selectorLocator, optionsNamesLocatorTemplate)
 {
     SetValueAction = (c, value) => NewInput(value);
     GetTextAction  = c => TextField.Text;
     _textField     = new GetElementType(selectorLocator);
 }
Beispiel #2
0
        /// <summary>
        /// getElementBy
        /// </summary>
        /// <param name="drive"></param>
        /// <param name="type">GetElementType</param>
        /// <param name="key">Key</param>
        /// <param name="search">Type of search for the Id</param>
        /// <param name="tagToGet">Tag name for the search</param>
        /// <param name="extraSearch">Extra search</param>
        /// <returns></returns>
        public static IWebElement GetElementBy(this RemoteWebDriver drive, GetElementType type, string key, SearchType search = SearchType.Exact, string tagToGet = null, string extraSearch = null)
        {
            IWebElement ret   = null;
            int         total = 0;
            bool        cont  = true;

            do
            {
                total++;
                cont = false;
                try
                {
                    var aux = drive.GetListElementBy(type, key, search: search, tagToGet: tagToGet, extraSearch: extraSearch);
                    if (aux != null && aux.Count > 0)
                    {
                        ret = aux.FirstOrDefault();
                    }

                    if (ret != null)
                    {
                        var displayed = ret.Displayed;
                    }
                }
                catch (Exception ex)
                {
                    cont = true;
                    System.Threading.Thread.Sleep(1);
                    if (total == HowManyTry)
                    {
                        throw;
                    }
                }
            } while (cont);
            return(ret);
        }
Beispiel #3
0
 new TypePair(
     GetElementType(context.SourceType),
Beispiel #4
0
        /// <summary>
        /// getElementBy
        /// </summary>
        /// <param name="drive"></param>
        /// <param name="type">GetElementType</param>
        /// <param name="key">Key</param>
        /// <param name="search">Type of search for the Id</param>
        /// <param name="tagToGet">Tag name for the search</param>
        /// <param name="extraSearch">Extra search</param>
        /// <returns></returns>
        public static IList <IWebElement> GetListElementBy(this RemoteWebDriver drive, GetElementType type, string key, SearchType search = SearchType.Exact, string tagToGet = null, string extraSearch = null)
        {
            List <IWebElement> ret = null;
            int  total             = 0;
            bool cont = true;

            extraSearch = string.IsNullOrWhiteSpace(extraSearch) ? "" : " " + extraSearch;

            do
            {
                total++;
                cont = false;
                try
                {
                    string searchTag         = string.Empty;
                    string searchCssSelector = string.Empty;

                    switch (type)
                    {
                    case GetElementType.Id:
                        searchTag = "id";
                        break;

                    case GetElementType.Css:
                        searchTag = "class";
                        break;
                    }

                    switch (search)
                    {
                    case SearchType.Exact:
                        searchCssSelector = string.Format("[{0}={1}]{2}", searchTag, key, extraSearch);
                        break;

                    case SearchType.AtEnd:
                        searchCssSelector = string.Format("[{0}$={1}]{2}", searchTag, key, extraSearch);
                        break;

                    case SearchType.AtStart:
                        searchCssSelector = string.Format("[{0}^={1}]{2}", searchTag, key, extraSearch);
                        break;

                    case SearchType.Contains:
                        searchCssSelector = string.Format("[{0}*={1}]{2}", searchTag, key, extraSearch);
                        break;
                    }

                    ret = drive.FindElementsByCssSelector(searchCssSelector).ToList();

                    if (!string.IsNullOrWhiteSpace(tagToGet))
                    {
                        ret = ret.Where(o => o.TagName == tagToGet).ToList();
                    }
                }
                catch (Exception ex)
                {
                    cont = true;
                    System.Threading.Thread.Sleep(1);
                    if (total == HowManyTry)
                    {
                        throw;
                    }
                }
            } while (cont);
            return(ret);
        }
Beispiel #5
0
 protected BaseSelector(By optionsNamesLocator, By allLabelsLocator) : base(optionsNamesLocator)
 {
     _allLabels = new GetElementType(allLabelsLocator);
 }
Beispiel #6
0
 protected BaseSelector(By optionsNamesLocator, By allLabelsLocator, List <IWebElement> webElements = null, WebBaseElement element = null)
     : base(optionsNamesLocator, webElements: webElements, element: element)
 {
     _allLabels = new GetElementType(allLabelsLocator, this);
 }
 public TypePair GetAssociatedTypes(in TypePair context) => new TypePair(GetElementType(context.SourceType), GetElementType(context.DestinationType));
Beispiel #8
0
 public MyComboBox(By selectorLocator, By optionsNamesLocatorTemplate, By valueLocator, By allOptionsNamesLocator = null)
     : base(selectorLocator, optionsNamesLocatorTemplate, allOptionsNamesLocator)
 {
     _textField = new GetElementType(valueLocator);
 }