/// <summary> /// Reflection does not behave the same way from a packaged library as an included project. /// https://alexanderontesting.com/2018/12/19/releasing-a-net-standard-library-lessons-learned-the-hard-way/ /// </summary> /// <param name="browserType"></param> /// <param name="defaultTimeOut"></param> public static void StartBrowser(BrowserTypes browserType = BrowserTypes.Chrome, int defaultTimeOut = 45) { switch (browserType) { case BrowserTypes.Chrome: // Reflection may fail and require an instance class Browser = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); //Browser = StaticWebDriverFactory.GetLocalWebDriver(browserType, true); break; case BrowserTypes.Firefox: // Reflection may fail and require an instance class Browser = new FirefoxDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); break; case BrowserTypes.InternetExplorer: Browser = new InternetExplorerDriver(); break; default: Browser = new ChromeDriver(); break; } BrowserWait = new WebDriverWait(WebDriver.Browser, TimeSpan.FromSeconds(defaultTimeOut)); //BrowserWait = new WebDriverWait(WebDriver.Browser // , TimeSpan.FromSeconds(ConfigurationService.Instance.GetWebSettings().Chrome.PageLoadTimeout)); }
private static Browser GetNewBrowser(BrowserTypes browserType) { return(new Browser(browserType, ThisLog) { WaitTemplateMethod = WaitWhileBodyLoading }); }
public static IWebDriver GetLocalWebDriver(BrowserTypes browser, bool headless = false) { if (headless && !(browser == BrowserTypes.Chrome || browser == BrowserTypes.Firefox)) { throw new ArgumentException($"Headless mode is not currently supported for {browser}."); } switch (browser) { case BrowserTypes.Firefox: return(GetLocalWebDriver <FirefoxDriver, FirefoxOptions>(StaticDriverOptionsFactory.GetFirefoxOptions(headless))); case BrowserTypes.Chrome: return(GetLocalWebDriver <ChromeDriver, ChromeOptions>(StaticDriverOptionsFactory.GetChromeOptions(headless))); case BrowserTypes.InternetExplorer: return(GetLocalWebDriver <InternetExplorerDriver, InternetExplorerOptions>(StaticDriverOptionsFactory.GetInternetExplorerOptions())); case BrowserTypes.Edge: return(GetLocalWebDriver <EdgeDriver, EdgeOptions>(StaticDriverOptionsFactory.GetEdgeOptions())); case BrowserTypes.Safari: return(GetLocalWebDriver <SafariDriver, SafariOptions>(StaticDriverOptionsFactory.GetSafariOptions())); default: throw new PlatformNotSupportedException($"{browser} is not currently supported."); } }
public static void StartBrowser(BrowserTypes browserType = BrowserTypes.Firefox, int defaultTimeOut = 30) { switch (browserType) { case BrowserTypes.Firefox: SDriver.Browser = new FirefoxDriver(); break; case BrowserTypes.InternetExplorer: SDriver.Browser = new InternetExplorerDriver(); break; case BrowserTypes.Chrome: var chromeOptions = new ChromeOptions(); chromeOptions.AddUserProfilePreference("download.default_directory", Config.DefaultFileDownloadPath); chromeOptions.AddUserProfilePreference("intl.accept_languages", "nl"); chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true"); chromeOptions.AddUserProfilePreference("Proxy", ""); SDriver.Browser = new ChromeDriver(chromeOptions); SDriver.Browser.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromMinutes(2)); SDriver.Browser.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromMinutes(2)); break; default: break; } BrowserWait = new WebDriverWait(SDriver.Browser, TimeSpan.FromSeconds(defaultTimeOut)); }
public void Start(BrowserTypes browserTypes = BrowserTypes.Chrome) { switch (browserTypes) { case BrowserTypes.Chrome: var options = new ChromeOptions(); options.AddUserProfilePreference("download.default_directory", BaseConfiguration.NewAppTestDir); options.AddUserProfilePreference("profile.default_content_setting_values.automatic_downloads", 1); driver = new ChromeDriver(options); break; case BrowserTypes.Firefox: var firefoxOptions = new FirefoxOptions(); firefoxOptions.SetPreference("browser.download.dir", BaseConfiguration.NewAppTestDir); firefoxOptions.SetPreference("browser.download.folderList", 2); firefoxOptions.SetPreference("pdfjs.disabled", true); firefoxOptions.SetPreference("browser.helperApps.neverAsk.saveToDisk", "image/png,image/jpeg,application/pdf"); driver = new FirefoxDriver(firefoxOptions); break; case BrowserTypes.InternetExplorer: driver = new InternetExplorerDriver(); break; } }
public static void StartBrowser(BrowserTypes browserType = BrowserTypes.Chrome, int defaultTimeOut = 30) { switch (browserType) { case BrowserTypes.Firefox: Driver.Browser = new FirefoxDriver(); break; case BrowserTypes.InternetExplorer: Driver.Browser = new InternetExplorerDriver(); break; case BrowserTypes.Chrome: Driver.Browser = new ChromeDriver(); break; case BrowserTypes.Edge: Driver.Browser = new EdgeDriver(); break; default: Driver.Browser = new ChromeDriver(); break; } BrowserWait = new WebDriverWait(Driver.Browser, TimeSpan.FromSeconds(defaultTimeOut)); }
public static void StartBrowser(BrowserTypes browserType = BrowserTypes.Chrome, int defaultTimeOut = 3000, bool headless = false) { ChromeOptions options = new ChromeOptions(); if (headless) { options.AddArguments("--window-size=1920,1080"); options.AddArguments("--start-maximized"); options.AddArguments("--headless"); } switch (browserType) { case BrowserTypes.Firefox: break; case BrowserTypes.InternetExplorer: break; case BrowserTypes.Chrome: driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), options); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20); break; default: break; } }
public void RequestingUnsupportedHeadlessBrowserThrowsInformativeException(BrowserTypes browser) { Action act = () => StaticWebDriverFactory.GetLocalWebDriver(browser, true); act.ShouldThrow <ArgumentException>($"because headless mode is not supported on {browser}.") .Message.ShouldBe($"Headless mode is not currently supported for {browser}."); }
public static void StartBrowser(BrowserTypes browserType = BrowserTypes.Chrome, int defaultTimeOut = 45) { //Save off start time so that we can use it later DisposeDriverService.TestRunStartTime = DateTime.Now; switch (browserType) { case BrowserTypes.Edge: Browser = new EdgeDriver(); break; case BrowserTypes.Chrome: Browser = new ChromeDriver(); break; case BrowserTypes.HeadlessChrome: var chromeOptions = new ChromeOptions(); chromeOptions.AddArguments("headless"); chromeOptions.AddArguments("window-size=1920,1080"); var chromeDriverService = ChromeDriverService.CreateDefaultService(); Browser = new ChromeDriver(chromeDriverService, chromeOptions); break; default: Browser = new ChromeDriver(); break; } Browser.Manage().Window.Maximize(); BrowserWait = new WebDriverWait(Driver.Browser, TimeSpan.FromSeconds(defaultTimeOut)); }
private void SetupTestConfiguration(ServerTypes serverType, BrowserTypes browserType) { if (testConfiguration == null) { testConfiguration = new ConfigurationData(serverType, browserType); testConfiguration.Log = Log; testConfiguration.Completed = TestCompleted; testConfiguration.Cancel = delegate() { return(State == States.Cancelling); }; testConfiguration.Pause = TestPause; testConfiguration.Skip = TestSkip; testConfiguration.PauseOnStep = TestPauseOnStep; testConfiguration.ProcessScreenShot = TestProcessScreenShot; testConfiguration.ProcessFile = TestProcessFile; } else { testConfiguration.SetBrowser(browserType); testConfiguration.SetServer(serverType); } }
public IWebDriver InitiateBrowser(IWebDriver browser, BrowserTypes browserType = BrowserTypes.ChromeBrowser) { var type = browserType; switch (type) { case BrowserTypes.ChromeBrowser: browser = new ChromeDriver(); break; case BrowserTypes.FirefoxBrowser: browser = new FirefoxDriver(); break; case BrowserTypes.InternetExplorerBrowser: browser = new InternetExplorerDriver(); break; case BrowserTypes.EdgeBrowser: browser = new EdgeDriver(); break; case BrowserTypes.PhantomBrowser: browser = new PhantomJSDriver(); break; default: throw new ArgumentOutOfRangeException(nameof(browserType), browserType, null); } return(browser); }
public static IWebDriver GetWebDriver(BrowserTypes type) { IWebDriver driver = null; string pathToDriver = @"..\..\..\..\Framework\Resources\Drivers"; switch (type) { case BrowserTypes.Chrome: new DriverManager().SetUpDriver(new ChromeConfig()); driver = new ChromeDriver(pathToDriver); break; case BrowserTypes.Firefox: new DriverManager().SetUpDriver(new FirefoxConfig()); driver = new FirefoxDriver(pathToDriver); break; case BrowserTypes.Edge: new DriverManager().SetUpDriver(new EdgeConfig()); driver = new EdgeDriver(pathToDriver); break; default: throw new ArgumentNullException("Unexpected browser type"); } return(driver); }
public BasePage(BrowserTypes bt) { DisposeDriverService.TestRunStartTime = DateTime.Now; WebDriver.StartBrowser(bt); WebDriver.Browser.Manage().Window.Maximize(); BrowserWait = WebDriver.BrowserWait; Browser = WebDriver.Browser; }
public void WhenOverviewPageLoads_PageTitleIsCorrect([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(OverviewPageObject.URL); Assert.AreEqual(WebDriver.Title, "Birdwatch-Visualizer"); }
private void SetupLogFolder(ServerTypes serverType, BrowserTypes browserType, string testName) { string folder = $"{DateTime.Now.ToString("yyyy-MM-dd")}-{serverType}-{browserType}-{testName}"; logFolderPath = System.IO.Path.Combine(txtLogPath.Text, folder); System.IO.Directory.CreateDirectory(logFolderPath); }
// SSO or default user //public Login(BrowserTypes bt, ITestOutputHelper output) : base(bt) //{ // if (UrlSettingsModel.UrlSettings.SingleSignOn == true) // { // Output = output; // SplashScreen = new SplashScreen.SplashScreen(open: false, browser: this.Browser, browserWait: this.BrowserWait, output: Output); // if (UrlSettingsModel.UrlSettings.Site == QS_Constants.SITE.DOE_UAT_QS) //."doeUatQS") // { // Url = UrlDeterminer.GetSite("/"); // } // else // { // Url = UrlDeterminer.GetSite("/splashscreen/home.html"); // } // //05.29.20 Should I call Open and Load JQuery (below) or just simply Open(); // Open(true); // WaitForPinwheel(QS_Constants.PINWHEELOVERLAY); // ScrollDown(); // Action_MoveToElement(By.Id("ContinueButton")); // WaitFor.WaitForPageLoad(); // SplashScreen.ContinueButton.Click(); // } // else // { // Output = output; // //05.29.20 Should I call Open and Load JQuery (below) or just simply Open(); // Open(true); // WaitForPinwheel(QS_Constants.PINWHEELOVERLAY); // IsPageTitle("Login"); // LoginUser(); // WaitForPinwheel(QS_Constants.PINWHEELOVERLAY); // } //} // TODO : add to HTML Parser public Login(BrowserTypes bt, ITestOutputHelper output) : base(bt) { Output = output; Open(true); WaitForPinwheel(Core.Common.Constants.PINWHEELOVERLAY); IsPageTitle("Login"); LoginUser(); WaitForPinwheel(Core.Common.Constants.PINWHEELOVERLAY); }
public ConfigurationData(ServerTypes serverType, BrowserTypes browser) { this.Log = LogConsole; this.ServerType = serverType; this.BrowserType = browser; ConfigureSettings(); }
public void WhenOverviewPageLoads_MostCommonBirdStatExists([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(OverviewPageObject.URL); var statCardContainer = WebDriver.FindElement(OverviewPageObject.StatisticsCardContainer); Assert.IsTrue(statCardContainer.Text.ToLower().Contains("most common bird")); }
public Home(RemoteWebDriver _Driver, XmlNode _testNode, Iteration iteration) { this.Driver = _Driver; this.TestDataNode = _testNode; this.Reporter = iteration; this.Browser = iteration.Browser.Title; Locator.Browser = iteration.Browser.Title; pageBrowserType = AppCommon.GetPageBrowserType(this.Browser); }
public void WhenBreakdownPageLoads_ChartCanvasIsRendered([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(BreakdownPageObject.URL); var chartCanvas = WebDriver.FindElement(By.TagName("canvas")); Assert.IsNotNull(chartCanvas); }
public void WhenOverviewPageLoads_YearCountStatExists([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(OverviewPageObject.URL); var statCardContainer = WebDriver.FindElement(OverviewPageObject.StatisticsCardContainer); Assert.IsTrue(statCardContainer.Text.ToLower().Contains("years worth of data")); }
public void WhenOverviewPageLoads_AllStatTilesAreRendered([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(OverviewPageObject.URL); var statCardElements = WebDriver.FindElements(OverviewPageObject.StatisticsCards); Assert.AreEqual(statCardElements.Count, 6); }
public void WhenOverviewPageLoads_BirdCountDifferenceStatExists([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(OverviewPageObject.URL); var statCardContainer = WebDriver.FindElement(OverviewPageObject.StatisticsCardContainer); Assert.IsTrue(statCardContainer.Text.ToLower().Contains("decrease since 1st") || statCardContainer.Text.ToLower().Contains("increase since 1st")); }
public AuthenticationTest(BrowserTypes browserType) : base(browserType) { _messageErrorList = new List <string>() { "Возможно, ваша учётная запись заблокирована, или введённое регистрационное имя/пароль неправильны.", "Your account may be disabled or blocked or the username/password you entered is incorrect." }; }
public void WhenBreakdownPageLoads_BreakdownStatsAreRendered([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(BreakdownPageObject.URL); var controlBar = WebDriver.FindElement(BreakdownPageObject.BreakdownStatsContainer); Assert.IsTrue(controlBar.Text.ToLower().Contains("total birds") && controlBar.Text.ToLower().Contains("different species")); }
public void WhenNavigationLoads_ItContainsLinkToTrackerPage([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(NavigationPageObject.URL); WebDriver.FindElement(NavigationPageObject.Hamburger).Click(); var link = WebDriver.FindElement(NavigationPageObject.TrackerLink); Assert.IsTrue(link.GetAttribute("routerLink") == "/tracker"); }
/// <summary> /// Returns a ChosenPortalAlias object where the portalId, culture code and isMobile matches /// </summary> /// <param name="aliases"></param> /// <param name="portalId"></param> /// <param name="result"></param> /// <param name="cultureCode"></param> /// <param name="browserType"></param> /// <returns>A ChosenPOrtalAlias</returns> /// <remarks>Note will return a best-match by portal if no specific culture Code match found</remarks> public static PortalAliasInfo GetAliasByPortalIdAndSettings(this IEnumerable<PortalAliasInfo> aliases, int portalId, UrlAction result, string cultureCode, BrowserTypes browserType) { var aliasList = aliases.ToList(); var defaultAlias = aliasList.ToList().Where(a => a.PortalID == portalId) .OrderByDescending(a => a.IsPrimary) .FirstOrDefault(); //27138 : Redirect loop caused by duplicate primary aliases. Changed to only check by browserType/Culture code which makes a primary alias var foundAlias = aliasList.Where(a => a.BrowserType == browserType && (String.Compare(a.CultureCode, cultureCode, StringComparison.OrdinalIgnoreCase) == 0 || String.IsNullOrEmpty(a.CultureCode)) && a.PortalID == portalId) .OrderByDescending(a => a.IsPrimary) .ThenByDescending(a => a.CultureCode) .FirstOrDefault(); //JIRA DNN-4882 : DevPCI fix bug with url Mobile -> Search alias with culture code // START DNN-4882 if (foundAlias == null) { foundAlias = aliasList.Where(a => (String.Compare(a.CultureCode, cultureCode, StringComparison.OrdinalIgnoreCase) == 0 || String.IsNullOrEmpty(a.CultureCode)) && a.PortalID == portalId) .OrderByDescending(a => a.IsPrimary) .ThenByDescending(a => a.CultureCode) .FirstOrDefault(); } // END DNN-4882 if (foundAlias != null) { if(result !=null && result.PortalAlias != null) { if (foundAlias.BrowserType != result.PortalAlias.BrowserType) { result.Reason = foundAlias.CultureCode != result.PortalAlias.CultureCode ? RedirectReason.Wrong_Portal_Alias_For_Culture_And_Browser : RedirectReason.Wrong_Portal_Alias_For_Browser_Type; } else { if (foundAlias.CultureCode != result.PortalAlias.CultureCode) { result.Reason = RedirectReason.Wrong_Portal_Alias_For_Culture; } } } } else { foundAlias = defaultAlias; } //if we didn't find a specific match, return the default, which is the closest match return foundAlias; }
public void WhenBreakdownPageLoads_YearDropDownMenuIsRendered([BrowserList] BrowserTypes browser) { Initialize(browser); WebDriver.Navigate().GoToUrl(BreakdownPageObject.URL); var controlBar = WebDriver.FindElement(BreakdownPageObject.ControlBar); var dropDown = controlBar.FindElement(By.TagName("mat-select")); Assert.IsNotNull(dropDown.Text); Assert.IsNotEmpty(dropDown.Text); }
public Browser(BrowserTypes browserType) { ////WebDriverManager.chromedriver().setup(); //ChromeOptions options = new ChromeOptions(); ////// this.driver = new ChromeDriver(options); //this.driver = new RemoteWebDriver(new Uri(HUB_URL), options); SessConfiguration.Browser = browsersToBeTested[browserType]; SessConfiguration.Timeout = TimeSpan.FromSeconds(Constants.MaxTimeOut); SessConfiguration.RetryInterval = TimeSpan.FromSeconds(0.5); browser = new BrowserSession(SessConfiguration); ((RemoteWebDriver)browser.Native).Manage().Window.Maximize(); }
public static void StartBrowser(BrowserTypes browserTypes = BrowserTypes.Chrome, string url = null) { switch (browserTypes) { case BrowserTypes.Chrome: Instance = new ChromeDriver(); break; case BrowserTypes.RemoteWebdriver: Instance = new RemoteWebDriver(new Uri(url), new ChromeOptions()); break; } }
public void InitDriver(BrowserTypes browser) { if (browser.Equals(BrowserTypes.Chrome)) { driver = new ChromeDriver(); } else if (browser.Equals(BrowserTypes.Firefox)) { driver = new FirefoxDriver(); } driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("https://www.foxtrot.com.ua/"); }
public static void StartBrowser(BrowserTypes browserType = BrowserTypes.Firefox, int defaultTimeOut = 30) { switch (browserType) { case BrowserTypes.Firefox: Driver.Browser = new FirefoxDriver(); break; case BrowserTypes.InternetExplorer: break; case BrowserTypes.Chrome: break; default: break; } BrowserWait = new WebDriverWait(Driver.Browser, TimeSpan.FromSeconds(defaultTimeOut)); }
private IEnumerable<WebTester> GetTester(BrowserTypes browserType) { switch (browserType) { case BrowserTypes.All: return new WebTester[] { new IETest(), new FireFoxTest(), new ChromeTest(), }; case BrowserTypes.FireFox: return new[] { new FireFoxTest() }; case BrowserTypes.IE: return new[] { new IETest() }; case BrowserTypes.Chrome: return new[] { new ChromeTest() }; default: throw new ArgumentOutOfRangeException("browserType"); } }
protected IEnumerable<DesiredCapabilities> GetRemoteTester(BrowserTypes browserType) { switch (browserType) { case BrowserTypes.All: return new[] { DesiredCapabilities.Firefox(), DesiredCapabilities.InternetExplorer(), DesiredCapabilities.Chrome() }; case BrowserTypes.FireFox: return new[] { DesiredCapabilities.Firefox() }; case BrowserTypes.IE: return new[] { DesiredCapabilities.InternetExplorer() }; case BrowserTypes.Chrome: return new[] { DesiredCapabilities.Chrome() }; default: throw new ArgumentOutOfRangeException("browserType"); } }
public ExecutionBrowserAttribute(BrowserTypes browser) { this.BrowserType = browser; }
public static void GetSettingsByPortalIdAndAlias(this IEnumerable<PortalAliasInfo> aliases, int portalId, string alias, out string culture, out BrowserTypes browserType, out string skin) { culture = null; browserType = BrowserTypes.Normal; skin = ""; foreach (var cpa in aliases) { if (cpa.PortalID == portalId && String.Compare(alias, cpa.HTTPAlias, StringComparison.OrdinalIgnoreCase) == 0) { //this is a match culture = cpa.CultureCode; browserType = cpa.BrowserType; //852 : add skin per portal alias skin = cpa.Skin; break; } } }
public SeleniumBrowserAttribute(BrowserTypes browsers) { Browsers = browsers; }