在使用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参数之后,确认我错了。而且我不明白自己在做什么错?