簡體   English   中英

將字典值添加為字符串列表

[英]Adding dictionary values as a list of strings

我正在嘗試創建一個字典,其中值存儲為可以迭代的字符串列表。 最終目標是我可以混合和匹配值以傳遞到方法中的參數,用於不同的 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"]);

有任何想法嗎? 或者如果有更好的方法來處理這個,請告訴我

您只是缺少字典的每個列表元素的實例化。 如果您知道創建字典時的值,則可以使用:

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 class 中的 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" });    

這就是您要尋找的GenerareSetLitere

Dictionary<string, List<Piese>> SetPiese = new Dictionary<string, List<Piese>>
{
    { "User", GenerareSetLitere("USER1", "USER2") },
    { "Crop", GenerareSetLitere("Corn", "Soy") }
    { "Station", GenerareSetLitere("AA", "JH", "HW") }
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM