internal static TPage Navigate <TPage>(this IElementFinder finder, IPageNavigator navigator, IWebDriver browser, By by, int waitTimeout = 10) where TPage : UiComponent, new() { var element = finder.Element(by); var resultPage = navigator.To <TPage>(by); return(resultPage); }
internal static TPage NavigateAndWaitForStalenessTo <TPage>(this IElementFinder finder, IPageNavigator navigator, IWebDriver browser, By by, int waitTimeout = 10) where TPage : UiComponent, new() { var element = finder.Element(by); var resultPage = navigator.To <TPage>(by); var wait = new WebDriverWait(browser, TimeSpan.FromSeconds(waitTimeout)); wait.Until(ExpectedConditions.StalenessOf(element)); return(resultPage); }