/// <summary>
        /// Used when you want to manually navigate to a new page
        /// </summary>
        protected TPageType GoToPage <TPageType>() where TPageType : BasePage, new()
        {
            var page = new TPageType();

            page.SetLogger(Logger, Browser);
            var pageUrl = TestData.Get.GetUrl(page.UrlForPage);

            Browser.NavigateToUrl(pageUrl);
            return(page);
        }
        /// <summary>
        /// Used when you are redirected to a page
        /// </summary>
        protected TPageType GetPage <TPageType>() where TPageType : BasePage, new()
        {
            var page = new TPageType();

            page.SetLogger(Logger, Browser);

            Retry.Execute(Logger, () =>
            {
                var currentUrl = Browser.GetCurrentUrl();
                var pageUrl    = TestData.Get.GetUrl(page.UrlForPage);
                Assert.Equal(pageUrl.ToString(), currentUrl);
            });

            return(page);
        }