/// <summary> /// Gets the web driver. /// </summary> /// <param name="contextManager">The object container.</param> /// <param name="options">The options.</param> /// <returns>The webdrivercontext object.</returns> public static WebDriverContext GetWebDriver(IContextManager contextManager, IWritableOptions <ConfigurationParameters> options) { var objectContainer = contextManager?.TestThreadContext.Get <IObjectContainer>("objectContainer"); WebDriverContext webDriverContext = null; if (objectContainer.IsRegistered <WebDriverContext>()) { webDriverContext = objectContainer.Resolve <WebDriverContext>(); } if (options?.Value.BrowsersConfiguration.Browser == Browser.ChromeAndroid9) { AppiumLocalService = AndroidWebDriver.CreateAppiumLocalService(); AppiumLocalService.Start(); } if (webDriverContext?.WebDriver == null) { if (!objectContainer.IsRegistered <WebDriverContext>()) { objectContainer.RegisterTypeAs <WebDriverContext, WebDriverContext>(); } objectContainer.Resolve <WebDriverContext>().CreateWebDriver(); webDriverContext = objectContainer.Resolve <WebDriverContext>(); } return(webDriverContext); }
/// <summary> /// Gets the webdrivercontext. /// </summary> /// <param name="objectContainer">The configuration parameters object.</param> /// <param name="configurationParameters">The object container object.</param> /// <returns>The webDrvierContext object.</returns> public static WebDriverContext GetWebDriver(IObjectContainer objectContainer, ConfigurationParameters configurationParameters) { if (configurationParameters.BrowsersConfiguration.Browser == Browser.ChromeAndroid9) { AppiumLocalService = AndroidWebDriver.CreateAppiumLocalService(); AppiumLocalService.Start(); } if (configurationParameters.BrowsersConfiguration.ReuseBrowser) { var webDriver = new WebDriverContext(configurationParameters); objectContainer.RegisterInstanceAs <WebDriverContext>(webDriver); return(webDriver); } else { var webDriverContext = new WebDriverContext(configurationParameters); objectContainer.RegisterInstanceAs <WebDriverContext>(webDriverContext); return(webDriverContext); } }