/// <summary> /// Initializes a new instance of the <see cref="HelperLibrary{T}"/> class. /// </summary> /// <param name="webDriver">The Selenium webdriver.</param> /// <param name="settingsLibrary">The settings library.</param> public HelperLibrary(IWebDriver webDriver, ISettingsLibrary <T> settingsLibrary) { this.JavaScriptHelper = new JavaScriptHelper(webDriver); this.WebDriverWaitHelper = new WebDriverWaitHelper(webDriver, settingsLibrary?.TestExecutionSettings.TimeoutSettings, this.JavaScriptHelper); this.RetryHelper = new RetryHelper(settingsLibrary.TestExecutionSettings.RetrySettings); this.AxeHelper = new AxeHelper(webDriver); this.BrowserHelper = new BrowserHelper(settingsLibrary?.BrowserSettings.BrowserName); this.FormHelper = new FormHelper(webDriver, this.WebDriverWaitHelper, new ActionsFactory(webDriver)); this.CommonActionHelper = new CommonActionHelper(webDriver, this.WebDriverWaitHelper, this.RetryHelper); this.ScreenshotHelper = new ScreenshotHelper(webDriver); this.BrowserStackHelper = new BrowserStackHelper <T>(settingsLibrary.BrowserStackSettings); }
/// <summary> /// Initializes a new instance of the <see cref="WebDriverSupport{T}"/> class. /// </summary> /// <param name="settingsLibrary">The settings library.</param> public WebDriverSupport(ISettingsLibrary <T> settingsLibrary) { this.SettingsLibrary = settingsLibrary; this.BrowserHelper = new BrowserHelper(this.SettingsLibrary.BrowserSettings.BrowserName); this.ChromeOptions = new ChromeOptions(); var browserOptions = this.SettingsLibrary.BrowserSettings.BrowserArguments; if (!browserOptions.InSandbox) { this.ChromeOptions.AddArgument("no-sandbox"); } if (browserOptions.InHeadless) { this.ChromeOptions.AddArgument("--headless"); } }
/// <summary> /// Sets the settings library. /// </summary> /// <typeparam name="T">The application settings type. This must be an interface member of IAppSettings.</typeparam> /// <param name="context">Scenario context.</param> /// <param name="settingsLibrary">Settings library.</param> public static void SetSettingsLibrary <T>(this ScenarioContext context, ISettingsLibrary <T> settingsLibrary) where T : IAppSettings { context?.Set(settingsLibrary); }