使用Selenium切换到第二个选项卡时出现StackOverFlow错误

时间:2018-12-27 12:32:53

标签: c# selenium-webdriver nunit

在使用C#和Selenium Google Chrome切换到第二个窗口时,出现了StackOverFlow错误。

getAssets()

在此行得到此错误

 WebActions.SideBarActions.GotoSecondTab();

        bool check = true;
        while (check)
        {
            for (int i = 0; i < BaseTest.driver.WindowHandles.Count; i++)
            {
                if (BaseTest.driver.SwitchTo().Window(BaseTest.driver.WindowHandles[i]).Title.Equals(title))
                {
                    BaseTest.driver.SwitchTo().Window(BaseTest.driver.WindowHandles[i]);
                    check = false;
                }
                else
                {
                    System.Threading.Thread.Sleep(10000);
                }
            }
        }

        Pages.HangfireControlLoginPage.ClickToFirstLoginButton();
        WebActions.HangfireControlPanelLoginActions.DoLogin(Constants.USER_NAME, Constants.PASSWORD);

        Pages.HangfireControlPanelDashboardPage.WaitForPageToLoad();
        Assert.IsTrue(Pages.HangfireControlPanelDashboardPage.IsPageHeaderVisible());
        Assert.IsTrue(Pages.HangfireControlPanelTopBarPage.IsRecurtingJobsButtonVisible());

在测试运行过程中切换到第二个选项卡后,它将登录到网站,等待页面标题,然后失败。 首先,我认为它是由于无休止的循环而失败的,但是在用“ Sleep”设置了else参数之后,确认我错了。而且我不明白自己在做什么错?

0 个答案:

没有答案