/// <summary>
        /// Calculation method.
        /// </summary>
        /// <param name="chain">
        /// Source sequence.
        /// </param>
        /// <param name="link">
        /// Redundant parameter, not used in calculations.
        /// </param>
        /// <returns>
        /// Frequency of element in congeneric chain as <see cref="double"/>.
        /// </returns>
        public double Calculate(CongenericChain chain, Link link)
        {
            var count = new ElementsCount();
            var length = new Length();

            return count.Calculate(chain, link) / length.Calculate(chain, link);
        }
Beispiel #2
0
        public void Should_BeImpossibleTo_FindHiddenElements_WithWrongArguments(ElementsCount count, ElementState state)
        {
            const string name = "custom name";

            Assert.Throws(Is.AssignableFrom(typeof(TimeoutException)).And.Message.Contains(name),
                          () => FindElements <Label>(HiddenElementsLoc, name, expectedCount: count, state: state),
                          $"Tried to find elements with expected count '{count}' and state '{state}'");
        }
Beispiel #3
0
        public void Should_BePossibleTo_FindElements_ForNotExistsElements(ElementsCount count, ElementState state, int expectedCount)
        {
            var elementsCount = FindElements <Label>(NotExistElementLoc, expectedCount: count, state: state).Count;

            Assert.AreEqual(expectedCount, elementsCount, $"Elements count for not existing elements should be {expectedCount}");
        }
Beispiel #4
0
        public void Should_BePossibleTo_FindElements_ForHiddenElements(ElementsCount count, ElementState state, int expectedCount)
        {
            var elementsCount = FindElements <Label>(HiddenElementsLoc, expectedCount: count, state: state).Count;

            Assert.AreEqual(expectedCount, elementsCount, $"Elements count for hidden elements should be {expectedCount}");
        }
Beispiel #5
0
 protected virtual IList <T> FindElements <T>(By locator, string name = null, ElementSupplier <T> supplier = null, ElementsCount expectedCount = ElementsCount.Any, ElementState state = ElementState.Displayed) where T : IElement
 {
     return(ElementFactory.FindElements(locator, name, supplier, expectedCount, state));
 }
        /// <summary>
        /// The fill pairs count.
        /// </summary>
        /// <returns>
        /// The <see cref="int"/>.
        /// </returns>
        private int FillPairsCount()
        {
            var counter = 0;

            var elementCounter = new ElementsCount();
            var firstElementCount = (int)elementCounter.Calculate(FirstChain, Link.None);

            for (int i = 1; i <= firstElementCount; i++)
            {
                int binaryInterval = GetBinaryInterval(i);
                if (binaryInterval > 0)
                {
                    counter++;
                }
            }

            return counter;
        }
Beispiel #7
0
        public virtual IList <T> FindElements <T>(By locator, string name = null, ElementSupplier <T> supplier = null, ElementsCount expectedCount = ElementsCount.Any, ElementState state = ElementState.Displayed) where T : IElement
        {
            var elementSupplier = ResolveSupplier(supplier);

            switch (expectedCount)
            {
            case ElementsCount.Zero:
                ConditionalWait.WaitForTrue(() => !ElementFinder.FindElements(locator, state, TimeSpan.Zero, name).Any(),
                                            message: LocalizationManager.GetLocalizedMessage("loc.elements.with.name.found.but.should.not", name, locator.ToString(), state.ToString()));
                break;

            case ElementsCount.MoreThenZero:
                ConditionalWait.WaitForTrue(() => ElementFinder.FindElements(locator, state, TimeSpan.Zero, name).Any(),
                                            message: LocalizationManager.GetLocalizedMessage("loc.no.elements.with.name.found.by.locator", name, locator.ToString()));
                break;

            case ElementsCount.Any:
                ConditionalWait.WaitFor(() => ElementFinder.FindElements(locator, state, TimeSpan.Zero, name) != null);
                break;

            default:
                throw new ArgumentOutOfRangeException($"No such expected value: {expectedCount}");
            }

            var             webElements = ElementFinder.FindElements(locator, state, TimeSpan.Zero, name);
            IEnumerable <T> elements    = webElements.Select((webElement, index) =>
            {
                var elementIndex = index + 1;
                var elementName  = $"{name ?? "element"} {elementIndex}";
                return(elementSupplier(GenerateXpathLocator(locator, webElement, elementIndex), elementName, state));
            });

            return(elements.ToList());
        }
 public IList <Label> GetListElements(ElementState state, ElementsCount count)
 {
     return(ElementFactory.FindElements <Label>(By.XPath("//ul[@id='blockbestsellers']//li"), state: state, expectedCount: count));
 }
 public IList <T> FindChildElements <T>(By childLocator, string name = null, ElementSupplier <T> supplier = null, ElementsCount expectedCount = ElementsCount.Any, ElementState state = ElementState.Displayed) where T : IElement
 {
     return(Factory.FindChildElements(this, childLocator, name, supplier, expectedCount, state));
 }
Beispiel #10
0
 protected override IList <T> FindElements <T>(By locator, string name     = null, ElementSupplier <T> supplier    = null,
                                               ElementsCount expectedCount = ElementsCount.Any, ElementState state = ElementState.Displayed)
 {
     return(ParentElement.FindChildElements(locator, name, supplier, expectedCount, state));
 }
 public IList <Label> GetChildElementsByDottedXPath(ElementState state, ElementsCount count)
 {
     return(FormElement.FindChildElements <Label>(DottedXPath, state: state, expectedCount: count));
 }
 public IList <Label> GetListElementsByDottedXPath(ElementState state, ElementsCount count)
 {
     return(ElementFactory.FindElements <Label>(DottedXPath, state: state, expectedCount: count));
 }
 public IList <Label> GetListElementsByCss(ElementState state, ElementsCount count)
 {
     return(ElementFactory.FindElements <Label>(ItemByCssSelector, state: state, expectedCount: count));
 }
 public IList <Label> GetListElementsByName(ElementState state, ElementsCount count)
 {
     return(ElementFactory.FindElements <Label>(InputByName, state: state, expectedCount: count));
 }
 public IList <Label> GetListElementsById(ElementState state, ElementsCount count)
 {
     return(ElementFactory.FindElements <Label>(BestSellersById, state: state, expectedCount: count));
 }
Beispiel #16
0
 public virtual IList <T> FindChildElements <T>(IElement parentElement, By childLocator, string name = null, ElementSupplier <T> supplier = null, ElementsCount expectedCount = ElementsCount.Any, ElementState state = ElementState.Displayed) where T : IElement
 {
     return(FindElements(GenerateAbsoluteChildLocator(parentElement.Locator, childLocator), name ?? $"Child element of {parentElement.Name}", supplier, expectedCount, state));
 }
Beispiel #17
0
 public void Should_BeImpossibleTo_FindNotExistElements_WithWrongArguments(ElementsCount count, ElementState state)
 {
     Assert.Throws <TimeoutException>(
         () => FindElements <Label>(NotExistElementLoc, expectedCount: count, state: state),
         $"Tried to find elements with expected count '{count}' and state '{state}'");
 }
Beispiel #18
0
 public static IList <Button> FindButtons(this IElementFactory elementFactory, By elementLocator, string name = null, ElementsCount elementsCount = ElementsCount.MoreThenZero)
 {
     return(elementFactory.FindElements(elementLocator, name: name, GetButtonSupplier(), elementsCount));
 }