是否有任何代码在刷新或重新加载页面时保留C#中arraylist中的值

时间:2016-05-30 06:19:29

标签: c# .net selenium-webdriver

是否有任何方法可以在页面加载后将值保留在arraylist中,因为我需要存储的值以便在之后进行验证。

我也尝试过Http Cookie设置,但无法找到它。请帮忙

 for (int i = 1; i <= random2; i++)
            {
                //   int total_checkbox = Total_Count_Checkbox;


                int div = (int)al[i - 1] / 10; //div is the page number of the element
                int mod = (int)al[i - 1] % 10; //mod is checkbox number of the element

                if (mod == 0)       //for checking inf the number comes to be 10
                {
                    div = div - 1;
                    mod = 10;
                }
                if (div == 0)
                {
                    LiSt3[mod - 1].Click();           //Clicking for the same page elements
                }
                else
                {
                    for (int b = 2; b <= div; b++)         //checking for the other pages
                    {
                        Browser.Click("Saved_Estimates", "Forward_Link_normal");
                        Thread.Sleep(1000);
                    }
                    IList<IWebElement> LiSt4 = driver.FindElements(By.CssSelector(".checkbox.checkbox-success.ng-scope"));
                    LiSt4[mod - 1].Click();             //clicking for the other page elements
                }
                Browser.WaitforthePageLoad();
                IList<IWebElement> LiSt_of_Names_Summary_List = driver.FindElements(By.CssSelector("span[data-bo-bind='item.Name']"));
                IList<IWebElement> LiSt_of_Dates_List = driver.FindElements(By.CssSelector("span[data-bo-bind='item.GeneratedDateString']"));
                IList<IWebElement> LiSt_of_Times_List = driver.FindElements(By.CssSelector("span[data-bo-bind='item.GeneratedTimeString']"));
                IList<IWebElement> LiSt_of_Last_Day_Worked_List = driver.FindElements(By.CssSelector("div[data-bo-bind='item.LastDayWorkedDateString']"));
                IList<IWebElement> LiSt_of_Benifit_Commencement_List = driver.FindElements(By.CssSelector("div[data-bo-bind='item.BenefitCommencementDateString']"));
                Browser.WaitforthePageLoad();

                LiSt_of_Names_Summary_List_Arraylist.Add(LiSt_of_Names_Summary_List[mod - 1]);
                LiSt_of_Dates_List_Arraylist.Add(LiSt_of_Dates_List[mod - 1]);
                LiSt_of_Times_List_Arraylist.Add(LiSt_of_Times_List[mod - 1]);
                LiSt_of_Last_Day_Worked_List_Arraylist.Add(LiSt_of_Last_Day_Worked_List[mod - 1]);
                LiSt_of_Benifit_Commencement_List_Arraylist.Add(LiSt_of_Benifit_Commencement_List[mod - 1]);

                if (div != 0)
                {
                    for (int b = 2; b <= div; b++)
                    {
                        Browser.Click("Saved_Estimates", "Back_Arrow_normal");
                        Thread.Sleep(1000);
                    }
                }
            }

2 个答案:

答案 0 :(得分:1)

您可以在会话的帮助下轻松完成。

  

会话状态使您可以为用户存储和检索值   用户在Web应用程序中导航ASP.NET页面。 HTTP是一个   无状态协议。这意味着Web服务器会处理每个HTTP   请求页面作为独立请求。

有关会话的更多信息,请转到以下链接: Session

如果您想将任何类型存储到会话中,您只需将其分配给会话,如此

ArrayList aryList=new ArrayList();
aryList.Add(Sample);
aryList.Add(Test);
//to store the array list to the session
Session["AryList"] = aryList;
//or if you have a class file then
HttpContext.Current.Session["AryList"] = aryList;
//to get the values from the session
ArrayList aryList= (ArrayList)Session["AryList"];

有关更多帮助,请参阅以下问题: ArrayList Session

希望它会对你有所帮助。

答案 1 :(得分:0)

使用会话变量。您可以通过这种方式保存各种信息,也可以更精细地将信息存储在数据库中。

你甚至可以使用AngularJS和JSON对象等。取决于你想要的精巧程度。