/// <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);
 }
Exemple #2
0
        /// <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);
 }