我正在测试一个Select Element。我需要断言,在Select元素中不存在具有用户指定文本的特定选项,并且还断言SelectElement中存在具有用户指定文本的另一个选项。
答案 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;
}