通过Selenium检查SelectElement元素中是否存在选项

时间:2017-02-02 17:47:47

标签: c# visual-studio selenium

我正在测试一个Select Element。我需要断言,在Select元素中不存在具有用户指定文本的特定选项,并且还断言SelectElement中存在具有用户指定文本的另一个选项。

3 个答案:

答案 0 :(得分:2)

这样可行:

public bool OptionListContains(SelectElement select, string expectedValue)
{
    IList<IWebElement> options = select.Options;
    List<string> optionsText = options.Select(a => a.Text).ToList();
    return optionsText.Contains(expectedValue);
}

以防您在需要之前没有使用过LINQ查询:

using System.Linq;

答案 1 :(得分:1)

您可以通过至少两种方式执行此操作:

  • 使用xpath,根据您的选项创建一个元素并检查它是否存在,使用xpath,如下所示:

    //选择/选项[文本()=&#39; your_text&#39;]
      //选择/选项[@valur =&#39; your_value&#39;]

  • 从所有选项中获取文本并检查文本是否包含您的字符串

第一种选择当然更容易。

答案 2 :(得分:0)

下面是一种方法,虽然性能有点不足

    public static bool SelectElementContainsItemText(SelectElement selElem, string itemText)
    {
        bool found = false;

        for (int i = 0; i < selElem.Options.Count; i++)
        {
            var blah = selElem.Options[i].Text;
            if (selElem.Options[i].Text.Equals(itemText))
            {
                found = true;
                break;
            }
        }

        return found;
    }