using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Firefox; using WebDriverManager; using WebDriverManager.DriverConfigs.Impl; namespace BrowserHelper.Driver; public class BrowserDriver : IBrowserDriver { public IWebDriver GetChromeDriver(bool headless = true) { new DriverManager().SetUpDriver(new ChromeConfig()); var chromdriverservice = ChromeDriverService.CreateDefaultService(); chromdriverservice.HideCommandPromptWindow = true; ChromeOptions options = new ChromeOptions(); if (headless) { options.AddArguments("--headless"); } return new ChromeDriver(chromdriverservice, options); } public IWebDriver GetFirefoxDriver(bool headless = true) { new DriverManager().SetUpDriver(new FirefoxConfig()); var firefoxdriverservice = FirefoxDriverService.CreateDefaultService(); firefoxdriverservice.HideCommandPromptWindow = true; FirefoxOptions options = new FirefoxOptions(); if (headless) { options.AddArguments("--headless"); } return new FirefoxDriver(firefoxdriverservice, options); } } public enum BrowserType { Chrome, Firefox }