/// <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); } }
/// <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); }