Example #1
0
        /// <summary>
        /// Deselects an item if it's selected.
        /// </summary>
        /// <param name="item"></param>
        /// <param name="stringComparison"></param>
        public virtual void DeselectItem(string item,
                                         StringComparison stringComparison = StringComparison.Ordinal)
        {
            var isSelected = GetSelectedOptions()
                             .Any(opt => String.Equals(
                                      opt,
                                      item,
                                      stringComparison));

            if (!isSelected)
            {
                return;
            }

            var elementToSelect = SelectedOptionElements.FirstOrDefault(
                e => String.Equals(
                    e.TextHelper().InnerText,
                    item,
                    stringComparison));

            // Verify the element exists.
            if (elementToSelect == null)
            {
                throw new NoSuchElementException();
            }

            var deleteElement = elementToSelect
                                .GetParentElement()
                                .FindElement(deleteSelector);

            deleteElement.Click();

            // Wait until the element is fully removed.
            WrappedDriver.Wait(TimeSpan.FromMilliseconds(500))
            .Until(
                d => !GetSelectedOptions().Any(
                    opt => String.Equals(
                        opt,
                        item,
                        stringComparison)));
        }
Example #2
0
 /// <summary>
 /// Returns a list of all selected items.
 /// </summary>
 /// <returns></returns>
 public virtual IEnumerable <string> GetSelectedOptions()
 {
     return(SelectedOptionElements.Select(e => e.TextHelper().InnerText));
 }