コード例 #1
0
        public TElement Create <TElement>(FindStrategy findStrategy)
            where TElement : Element
        {
            Console.WriteLine($"Create({findStrategy})");

            return(Driver?.Create <TElement>(findStrategy));
        }
        public IWebElement Find(FindStrategy findStrategy)
        {
            Wait.To.Exists().WaitUntil(_searchContext, _driver, findStrategy.Convert());
            var element = _searchContext.FindElement(findStrategy.Convert());

            return(element);
        }
        public IEnumerable <IWebElement> FindAll(FindStrategy findStrategy)
        {
            Wait.To.Exists().WaitUntil(_searchContext, _driver, findStrategy.Convert());
            IEnumerable <IWebElement> result = _searchContext.FindElements(findStrategy.Convert());

            return(result);
        }
コード例 #4
0
 public ElementsList(
     FindStrategy by,
     WindowsElement parentElement,
     bool shouldCacheFoundElements)
     : this(by, parentElement)
 {
     _shouldCacheFoundElements = shouldCacheFoundElements;
 }
コード例 #5
0
 public ElementsList(
     FindStrategy by,
     WindowsElement parentElement)
 {
     _by            = by;
     _parentElement = parentElement;
     _foundElements = new List <TElement>();
     WrappedDriver  = ServicesCollection.Current.Resolve <WindowsDriver <WindowsElement> >();
 }
コード例 #6
0
        public TElement Create <TElement>(FindStrategy findStrategy)
            where TElement : Element
        {
            TElement elment = Activator.CreateInstance <TElement>();

            elment.By = findStrategy.Convert();

            return(elment);
        }
        public override List <Element> FindAll(FindStrategy findStrategy)
        {
            var nativeElements = _elementFinderService.FindAll(findStrategy);
            var resultElements = new List <Element>();

            foreach (var nativeElement in nativeElements)
            {
                resultElements.Add(new WebElement(_webDriver, nativeElement, findStrategy.Convert()));
            }
            return(resultElements);
        }
コード例 #8
0
        public dynamic CreateComponentWithParent(FindStrategy by, WindowsElement parenTComponent, Type newElementType)
        {
            DetermineComponentAttributes(out var elementName, out var pageName);

            dynamic element = Activator.CreateInstance(newElementType);

            element.By = by;
            element.ParentWrappedElement = parenTComponent;
            element.ElementName          = string.IsNullOrEmpty(elementName) ? $"control ({by})" : elementName;
            element.PageName             = pageName ?? string.Empty;

            return(element);
        }
コード例 #9
0
        public dynamic CreateElementThatIsFound(FindStrategy by, WindowsElement webElement, Type newElementType)
        {
            DetermineElementAttributes(out var elementName, out var pageName);

            dynamic element = Activator.CreateInstance(newElementType);

            element.By                  = by;
            element.WrappedElement      = webElement;
            element.FoundWrappedElement = webElement;
            element.ElementName         = string.IsNullOrEmpty(elementName) ? $"control ({by})" : elementName;
            element.PageName            = pageName ?? string.Empty;

            return(element);
        }
コード例 #10
0
        public TComponentType CreateComponentThatIsFound <TComponentType>(FindStrategy by, WindowsElement webElement)
            where TComponentType : Component
        {
            DetermineComponentAttributes(out var elementName, out var pageName);

            var element = Activator.CreateInstance <TComponentType>();

            element.By                  = by;
            element.WrappedElement      = webElement;
            element.FoundWrappedElement = webElement;
            element.ComponentName       = string.IsNullOrEmpty(elementName) ? $"control ({by})" : elementName;
            element.PageName            = pageName ?? string.Empty;

            return(element);
        }
コード例 #11
0
        public TComponentType CreateComponentWithParent <TComponentType>(FindStrategy by, WindowsElement parenTComponent, WindowsElement foundElement, int elementsIndex)
            where TComponentType : Component
        {
            DetermineComponentAttributes(out var elementName, out var pageName);

            var element = Activator.CreateInstance <TComponentType>();

            element.By = by;
            element.ParentWrappedElement = parenTComponent;
            element.WrappedElement       = foundElement;
            element.FoundWrappedElement  = foundElement;
            element.ElementIndex         = elementsIndex;
            element.ComponentName        = string.IsNullOrEmpty(elementName) ? $"control ({by})" : elementName;
            element.PageName             = pageName ?? string.Empty;

            return(element);
        }
コード例 #12
0
        protected By GetBy(FindStrategy strategy, string locator)
        {
            if (strategy == FindStrategy.ClassName)
            {
                return(By.ClassName(locator));
            }
            else if (strategy == FindStrategy.Css)
            {
                return(By.CssSelector(locator));
            }
            else if (strategy == FindStrategy.Tag)
            {
                return(By.TagName(locator));
            }
            else if (strategy == FindStrategy.Id)
            {
                return(By.Id(locator));
            }
            else if (strategy == FindStrategy.Link)
            {
                return(By.LinkText(locator));
            }
            else if (strategy == FindStrategy.Name)
            {
                return(By.Name(locator));
            }
            else if (strategy == FindStrategy.Partial)
            {
                return(By.PartialLinkText(locator));
            }
            else if (strategy == FindStrategy.XPath)
            {
                return(By.XPath(locator));
            }

            throw new Exception($"Locator {locator} does not support.");
        }
コード例 #13
0
 public abstract Element Find(FindStrategy findStrategy);
コード例 #14
0
 public abstract List <Element> FindAll(FindStrategy findStrategy);
コード例 #15
0
 public override Element Find(FindStrategy findStrategy)
 {
     return(Driver?.Find(findStrategy));
 }
コード例 #16
0
        public override Element Find(FindStrategy findStrategy)
        {
            var nativeElement = _elementFinderService.Find(findStrategy);

            return(new WebElement(_webDriver, nativeElement, findStrategy.Convert()));
        }
コード例 #17
0
 public List <TElement> CreateAll <TElement>(FindStrategy findStrategy)
     where TElement : Element
 => Driver?.CreateAll <TElement>(findStrategy);
コード例 #18
0
 public List <TElement> CreateAll <TElement>(FindStrategy findStrategy)
     where TElement : Element
 => throw new NotImplementedException();
コード例 #19
0
 public void Find <TElement>(TBaseSearchInterface source, LinkedList <TElement> resultList,
                             FindStrategy <TElement> strategy, HashSet <object> visited) where TElement : class, TBaseSearchInterface
 {
     Find(source, resultList, strategy, visited, null);
 }
コード例 #20
0
 public TElement Create <TElement>(FindStrategy findStrategy)
     where TElement : Element
 => Driver?.Create <TElement>(findStrategy);
コード例 #21
0
 public override List <Element> FindAll(FindStrategy findStrategy)
 {
     return(Driver?.FindAll(findStrategy));
 }