C# 需要刷新网页的逻辑吗 public CashAdvanceHo GetPINNumber() { //获取“myTable”实例的表体 IWebElement myTable=driver.FindElement(By.XPath(“/*[@id='dgCAinformationDetails']/tbody”); //获取表中的行数 IList行=新列表(myTable.FindElements(按.TagName(“tr”)); foreach(行中的变量colElement) { //获取行表中的列数 IList cols=新列表(colElement.FindElements(按.TagName(“td”))); 如果(列数>0) { //遍历每个单元格 foreach(cols中的var cellData) { //获取每个单元格的数据 反OrpinNumber=反OrpinNumber+1; String data=String.Empty;//=cellData.Text; //Console.WriteLine(“数据匹配”+数据); 如果(反形式编号==11) { 做 { 《睡眠》(2000年); //包装器。单击(输入信息); wrapper.EnterText(txtCarrierId,wrapper.CarrierID); 包装器。单击(b检查); 包装器。从列表中选择选项(lstSelectVehicleNo,CardActivationHo.CardNumber+“-”+CardActivationHo.VehicleNumber); 包装器。单击(输入信息); data=cellData.Text; PINNumber=数据; } while(data==string.Empty); Console.WriteLine(“PIN编号为:“+PIN编号”); } } } } 归还这个; }`公共现金推进HO GetPINNumber() { //获取“myTable”实例的表体 IWebElement myTable=driver.FindElement(By.XPath(“/*[@id='dgCAinformationDetails']/tbody”); //获取表中的行数 IList行=新列表(myTable.FindElements(按.TagName(“tr”)); foreach(行中的变量colElement) { //获取行表中的列数 IList cols=新列表(colElement.FindElements(按.TagName(“td”))); 如果(列数>0) { //遍历每个单元格 foreach(cols中的var cellData) { //获取每个单元格的数据 反OrpinNumber=反OrpinNumber+1; String data=String.Empty;//=cellData.Text; //Console.WriteLine(“数据匹配”+数据); 如果(反形式编号==11) { 做 { 《睡眠》(2000年); //包装器。单击(输入信息); wrapper.EnterText(txtCarrierId,wrapper.CarrierID); 包装器。单击(b检查); 包装器。从列表中选择选项(lstSelectVehicleNo,CardActivationHo.CardNumber+“-”+CardActivationHo.VehicleNumber); 包装器。单击(输入信息); data=cellData.Text; PINNumber=数据; } while(data==string.Empty); Console.WriteLine(“PIN编号为:“+PIN编号”); } } } } 归还这个; }

C# 需要刷新网页的逻辑吗 public CashAdvanceHo GetPINNumber() { //获取“myTable”实例的表体 IWebElement myTable=driver.FindElement(By.XPath(“/*[@id='dgCAinformationDetails']/tbody”); //获取表中的行数 IList行=新列表(myTable.FindElements(按.TagName(“tr”)); foreach(行中的变量colElement) { //获取行表中的列数 IList cols=新列表(colElement.FindElements(按.TagName(“td”))); 如果(列数>0) { //遍历每个单元格 foreach(cols中的var cellData) { //获取每个单元格的数据 反OrpinNumber=反OrpinNumber+1; String data=String.Empty;//=cellData.Text; //Console.WriteLine(“数据匹配”+数据); 如果(反形式编号==11) { 做 { 《睡眠》(2000年); //包装器。单击(输入信息); wrapper.EnterText(txtCarrierId,wrapper.CarrierID); 包装器。单击(b检查); 包装器。从列表中选择选项(lstSelectVehicleNo,CardActivationHo.CardNumber+“-”+CardActivationHo.VehicleNumber); 包装器。单击(输入信息); data=cellData.Text; PINNumber=数据; } while(data==string.Empty); Console.WriteLine(“PIN编号为:“+PIN编号”); } } } } 归还这个; }`公共现金推进HO GetPINNumber() { //获取“myTable”实例的表体 IWebElement myTable=driver.FindElement(By.XPath(“/*[@id='dgCAinformationDetails']/tbody”); //获取表中的行数 IList行=新列表(myTable.FindElements(按.TagName(“tr”)); foreach(行中的变量colElement) { //获取行表中的列数 IList cols=新列表(colElement.FindElements(按.TagName(“td”))); 如果(列数>0) { //遍历每个单元格 foreach(cols中的var cellData) { //获取每个单元格的数据 反OrpinNumber=反OrpinNumber+1; String data=String.Empty;//=cellData.Text; //Console.WriteLine(“数据匹配”+数据); 如果(反形式编号==11) { 做 { 《睡眠》(2000年); //包装器。单击(输入信息); wrapper.EnterText(txtCarrierId,wrapper.CarrierID); 包装器。单击(b检查); 包装器。从列表中选择选项(lstSelectVehicleNo,CardActivationHo.CardNumber+“-”+CardActivationHo.VehicleNumber); 包装器。单击(输入信息); data=cellData.Text; PINNumber=数据; } while(data==string.Empty); Console.WriteLine(“PIN编号为:“+PIN编号”); } } } } 归还这个; },c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我在其中一个测试方法中添加了上述代码。逻辑是在输入数据后,应用程序生成需要用于下一个测试用例的管脚号,但有时应用程序需要时间生成管脚号。因此需要一个逻辑,在生成PIN码之前,我的应用程序页面将被刷新。您可以调用 driver.navigate().refresh() 在生成PIN时定期执行。您能告诉我在上面代码的哪一行中我必须使用“driver.navigate().refresh();”如果您想刷新直到PIN就绪,我想您需要检查PIN,可能是在循环中(while!isPinReady)或类似的

我在其中一个测试方法中添加了上述代码。逻辑是在输入数据后,应用程序生成需要用于下一个测试用例的管脚号,但有时应用程序需要时间生成管脚号。因此需要一个逻辑,在生成PIN码之前,我的应用程序页面将被刷新。

您可以调用

driver.navigate().refresh()


在生成PIN时定期执行。

您能告诉我在上面代码的哪一行中我必须使用“driver.navigate().refresh();”如果您想刷新直到PIN就绪,我想您需要检查PIN,可能是在循环中(while!isPinReady)或类似的方式。将我的代码放在这个循环中。但是:我严格警告您使用依赖测试用例!!!这是非常糟糕的练习!如果第一个测试用例失败,那么链中的每一个其他用例都不会执行!在关键项目中,它会给你带来大问题!最好避免它。不要试图通过
refresh()
修复相关的Javascript和Ajax调用可能不会触发。改为修复
click()
。无法理解修复click而不是refresh()背后的逻辑。如果可能,请您向我详细介绍一下。
public CashAdvanceHo GetPINNumber()
        {

            //Gets table body to 'myTable' instance

            IWebElement myTable = driver.FindElement(By.XPath("//*[@id='dgCAinformationDetails']/tbody"));



            //Getting Number of rows in table

            IList<IWebElement> rows = new List<IWebElement>(myTable.FindElements(By.TagName("tr")));

            foreach (var colElement in rows)

            {

                //Getting Number of cols in row table

                IList<IWebElement> cols = new List<IWebElement>(colElement.FindElements(By.TagName("td")));

                if (cols.Count > 0)
                {



                    //Iterating through each cell

                    foreach (var cellData in cols)

                    {

                        //getting each cell data
                        counterforPINNumber = counterforPINNumber + 1;
                        String data = String.Empty; //= cellData.Text;

                        // Console.WriteLine("Data matched" + data);
                        if (counterforPINNumber == 11)
                        {

                            do
                            {
                                Thread.Sleep(2000);
                                //wrapper.Click(lnkInformation);
                                wrapper.EnterText(txtCarrierId, Wrapper.CarrierID);
                                wrapper.Click(btnCheck);
                                wrapper.SelectOptionFromList(lstSelectVehicleNo, CardActivationHo.CardNumber + " - " + CardActivationHo.VehicleNumber);
                                wrapper.Click(lnkInformation);
                                data = cellData.Text;
                                PINNumber = data;
                            }
                            while (data == string.Empty);

                            Console.WriteLine("PIN Number is : " + PINNumber);
                        }

                    }

                }

            }
            return this;
        }`public CashAdvanceHo GetPINNumber()
        {

            //Gets table body to 'myTable' instance

            IWebElement myTable = driver.FindElement(By.XPath("//*[@id='dgCAinformationDetails']/tbody"));



            //Getting Number of rows in table

            IList<IWebElement> rows = new List<IWebElement>(myTable.FindElements(By.TagName("tr")));

            foreach (var colElement in rows)

            {

                //Getting Number of cols in row table

                IList<IWebElement> cols = new List<IWebElement>(colElement.FindElements(By.TagName("td")));

                if (cols.Count > 0)
                {



                    //Iterating through each cell

                    foreach (var cellData in cols)

                    {

                        //getting each cell data
                        counterforPINNumber = counterforPINNumber + 1;
                        String data = String.Empty; //= cellData.Text;

                        // Console.WriteLine("Data matched" + data);
                        if (counterforPINNumber == 11)
                        {

                            do
                            {
                                Thread.Sleep(2000);
                                //wrapper.Click(lnkInformation);
                                wrapper.EnterText(txtCarrierId, Wrapper.CarrierID);
                                wrapper.Click(btnCheck);
                                wrapper.SelectOptionFromList(lstSelectVehicleNo, CardActivationHo.CardNumber + " - " + CardActivationHo.VehicleNumber);
                                wrapper.Click(lnkInformation);
                                data = cellData.Text;
                                PINNumber = data;
                            }
                            while (data == string.Empty);

                            Console.WriteLine("PIN Number is : " + PINNumber);
                        }

                    }

                }

            }
            return this;
        }