// Constructor. public LetsKodeUiComponent ( ITestBackgroundDataProvider <UserRole, TestEnvironment> testBackgroundDataProvider, IDecryptor decryptor = null ) : base(testBackgroundDataProvider, decryptor) { }
// Constructor. public SignInFlowComponent ( ITestBackgroundDataProvider <UserRole, TestEnvironment> testBackgroundDataProvider, IDecryptor decryptor ) : base(testBackgroundDataProvider, decryptor) { }
public AuthBasicFeature() { this.dataProvider = new InsuranceOneTestBackgroundDataProvider(); this.decryptor = new DummyDecryptor(); this.signInComponent = new SignInFlowComponent <UserRole, TestEnvironment> ( this.dataProvider, this.decryptor ); }
public LetsKodeUiFeature() { this.dataProvider = new LetsKodeScreenDataProvider(); this.letsKodeComponent = new LetsKodeUiComponent <UserRole, TestEnvironment> (dataProvider); }
protected BusinessFunctionFlowComponentBase ( ITestBackgroundDataProvider <TUserRole, TTestEnvironment> testBackgroundDataProvider, IDecryptor decryptor = null ) { // Ensure generic types are enums. this.EnsureGenericArgumentsAreEnumTypes(); this.TestBackgroundDataProvider = testBackgroundDataProvider; this.Decryptor = decryptor; if (testBackgroundDataProvider != null) { this.TestEnvironment = testBackgroundDataProvider.GetTargetTestEnvironment(); this.WebBrowserToUse = testBackgroundDataProvider.GetWebBrowserTypeToUseForAcceptanceTests(); var appSettings = ConfigurationManager.AppSettings; // Selenium Grid related settings. var runMode = (appSettings [ConfigKeys.RUN_MODE].Trim().Equals("local")) ? TestRunMode.Local : TestRunMode.SeleniumGrid; var gridHubUrl = String.Empty; if (runMode == TestRunMode.SeleniumGrid) { gridHubUrl = appSettings [ConfigKeys.SELENIUM_GRID_HUB_URL]; } // Browser and web driver executable paths. var configKeyFirstPart = this.WebBrowserToUse.ToString(); var browserExeAbsolutePath = appSettings [configKeyFirstPart + ConfigKeys.BROWSER_EXE_ABSOLUTE_PATH_KEY_PART]; var webDriverExeDirectoryAbsolutePath = appSettings [configKeyFirstPart + ConfigKeys.WEB_DRIVER_EXE_DIRECTORY_PATH_KEY_PART]; // Prepare the web driver of choice. switch (this.WebBrowserToUse) { case WebBrowser.MozillaFirefox: if (runMode == TestRunMode.Local) { var firefoxOptions = new FirefoxOptions { BrowserExecutableLocation = browserExeAbsolutePath }; this.WebDriver = new FirefoxDriver(webDriverExeDirectoryAbsolutePath, firefoxOptions); } else { var firefoxOptions = new FirefoxOptions(); this.WebDriver = new RemoteWebDriver(new Uri(gridHubUrl), firefoxOptions); } break; case WebBrowser.GoogleChrome: if (runMode == TestRunMode.Local) { var chromeOptions = new ChromeOptions { BinaryLocation = browserExeAbsolutePath }; chromeOptions.AddAdditionalCapability("useAutomationExtension", false); chromeOptions.AddArgument("no-sandbox"); this.WebDriver = new ChromeDriver(webDriverExeDirectoryAbsolutePath, chromeOptions); } else { var chromeOptions = new ChromeOptions(); chromeOptions.AddAdditionalCapability("useAutomationExtension", false); chromeOptions.AddArgument("no-sandbox"); this.WebDriver = new RemoteWebDriver(new Uri(gridHubUrl), chromeOptions); } break; case WebBrowser.MicrosoftEdge: if (runMode == TestRunMode.Local) { var edgeOptions = new EdgeOptions { BinaryLocation = browserExeAbsolutePath }; var edgeService = EdgeDriverService.CreateDefaultService(webDriverExeDirectoryAbsolutePath, "msedgedriver.exe"); this.WebDriver = new EdgeDriver(edgeService, edgeOptions); } else { var edgeOptions = new EdgeOptions { UseChromium = true }; this.WebDriver = new RemoteWebDriver(new Uri(gridHubUrl), edgeOptions); } break; case WebBrowser.InternetExplorer: if (runMode == TestRunMode.Local) { var ieOptions = new InternetExplorerOptions { EnsureCleanSession = true, RequireWindowFocus = true, IntroduceInstabilityByIgnoringProtectedModeSettings = true }; ieOptions.AddAdditionalCapability("useAutomationExtension", false); this.WebDriver = new InternetExplorerDriver(webDriverExeDirectoryAbsolutePath, ieOptions); } else { var ieOptions = new InternetExplorerOptions { EnsureCleanSession = true, RequireWindowFocus = true, IntroduceInstabilityByIgnoringProtectedModeSettings = true }; ieOptions.AddAdditionalCapability("useAutomationExtension", false); this.WebDriver = new RemoteWebDriver(new Uri(gridHubUrl), ieOptions); } break; default: throw new NotImplementedException($"The specified web browser \"{ this.WebBrowserToUse }\" is not yet implemented for acceptance tests."); } } }