Esempio n. 1
0
        /// <summary>
        /// Closes the active panel.
        /// </summary>
        public virtual void ClosePanel()
        {
            if (!accordianComponentOptions.Collaspable)
            {
                throw new Exception("The " +
                                    "AccordianComponentOptions.Collaspable was set to false.");
            }

            if (HasOpenPanel())
            {
                var waiter = WrappedElement.GetEventWaiter("accordionactivate");

                switch (accordianComponentOptions.Event)
                {
                case "click":
                    ActivePanelElement.Click();
                    break;

                case "mouseover":
                    WrappedDriver.CreateActions()
                    .MoveToElement(ActivePanelElement)
                    .Perform();
                    break;

                default:
                    throw new NotImplementedException(accordianComponentOptions.Event);
                }

                waiter.Wait(accordianComponentOptions.AnimationDuration);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Sets the panel to open and returns the panel content element.
        /// </summary>
        /// <param name="panelName">Name of the panel.</param>
        /// <param name="stringComparison">The string comparison.</param>
        /// <returns></returns>
        public virtual IWebElement SelectPanel(string panelName,
                                               StringComparison stringComparison = StringComparison.Ordinal)
        {
            var isOpen = String.Equals(
                GetActivePanelName(),
                panelName,
                stringComparison);

            if (!isOpen)
            {
                var matchingPanelElement = PanelElements.FirstOrDefault(
                    e => String.Equals(
                        e.TextHelper().InnerText,
                        panelName,
                        stringComparison));

                if (matchingPanelElement == null)
                {
                    throw new NoSuchElementException();
                }

                var waiter = WrappedElement.GetEventWaiter("accordionactivate");

                switch (accordianComponentOptions.Event)
                {
                case "click":
                    matchingPanelElement.Click();
                    break;

                case "mouseover":
                    WrappedDriver.CreateActions()
                    .MoveToElement(matchingPanelElement)
                    .Perform();
                    break;

                default:
                    throw new NotImplementedException(accordianComponentOptions.Event);
                }

                waiter.Wait(accordianComponentOptions.AnimationDuration);
            }

            return(ActiveContentElement);
        }