我正在尝试创建一个字典,将值存储为可迭代的字符串列表。最终目标是我可以混合和匹配将值传递给方法中用于不同Selenium测试的参数。基本上,字典用于存储测试数据。
public void EnterSearchInfo (string username, string cropname, string stationname, string applicationname)
{
Dictionary<string, List<string>> searchValues = new Dictionary<string, List<string>>();
searchValues.Add("User", ["USER1", "USER2"]);
searchValues.Add("Crop", ["Corn", "Soy"]);
searchValues.Add("Station", ["AA", "JH", "HW"]);
_driver.FindElement(user).SendKeys(username);
_driver.FindElement(crop).SendKeys(cropname);
_driver.FindElement(station).SendKeys(stationname);
_driver.FindElement(application).SendKeys(applicationname);
_driver.FindElement(findAssocBtn).Click();
}
但是,以上内容不起作用,特别是这一段(我没有正确添加值):
searchValues.Add("User", ["USER1", "USER2"]);
searchValues.Add("Crop", ["Corn", "Soy"]);
searchValues.Add("Station", ["AA", "JH", "HW"]);
有什么想法吗?或者,如果有更好的方法来解决这个问题,请告诉我
答案 0 :(得分:1)
您只是缺少字典中每个列表元素的实例化。 如果您知道创建字典时的值,可以使用:
Dictionary<string, List<string>> searchValues = new Dictionary<string, List<string>>
{
{ "User", new List<string>() {"USER1", "USER2" } },
{ "Crop", new List<string>() {"Corn", "Soy" } },
{ "Station", new List<string>() {"AA", "JH", "HW" } }
};
或者,如果在创建字典时(即从文本文件或数据库中检索值时)值未知,则可以使用List类中的Add方法。
Dictionary<string, List<string>> searchValues = new Dictionary<string, List<string>>();
searchValues.Add("User", new List<string>() { "USER1", "USER2" });
searchValues.Add("Crop", new List<string>() { "Corn", "Soy" });
searchValues.Add("Station", new List<string>() { "AA", "JH", "HW" });
答案 1 :(得分:0)
这就是您要寻找的GenerareSetLitere
:
Dictionary<string, List<Piese>> SetPiese = new Dictionary<string, List<Piese>>
{
{ "User", GenerareSetLitere("USER1", "USER2") },
{ "Crop", GenerareSetLitere("Corn", "Soy") }
{ "Station", GenerareSetLitere("AA", "JH", "HW") }
};