using EATestFramework.Settings; using OpenQA.Selenium; using System; namespace EATestFramework.Driver { public class DriverFixture : IDriverFixture, IDisposable { IWebDriver driver; private readonly TestSettings _testSettings; private readonly IBrowserDriver _browserDriver; public DriverFixture(TestSettings testSettings, IBrowserDriver browserDriver) { _testSettings = testSettings; _browserDriver = browserDriver; driver = GetWebDriver(); driver.Navigate().GoToUrl(_testSettings.ApplicationUrl); } public IWebDriver Driver => driver; public IWebDriver GetWebDriver() { return _testSettings.BrowserType switch { BrowserType.Chrome => _browserDriver.GetChromeDriver(), BrowserType.Firefox => _browserDriver.GetFirefoxDriver(), _ => _browserDriver.GetChromeDriver() }; } public void Dispose() { driver.Quit(); } } }