Exemple #1
0
        /// <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);
            }
        }
Exemple #3
0
        /// <summary>
        ///     create webdriver by properties,  driver key = "default" if not set
        /// </summary>
        public static void CreateDriver(DriverProperties pros, string key = "default")
        {
            DriverManager driverManager = null;

            switch (pros.GetDriverType())
            {
            case DriverType.Chrome:
                driverManager = new ChromeBrowser();
                break;

            case DriverType.Firefox:
                driverManager = new FireFoxBrowser();
                break;

            case DriverType.IE:
                driverManager = new IEBrowser();
                break;

            case DriverType.IOSApp:
                driverManager = new IOSAppDriver();
                break;

            case DriverType.IOSWeb:
                driverManager = new IOSWebDriver();
                break;

            case DriverType.AndroidApp:
                driverManager = new AndroidAppDriver();
                break;

            case DriverType.AndroidWeb:
                driverManager = new AndroidWebDriver();
                break;

            case DriverType.Edge:
                break;

            case DriverType.Safari:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (driverManager != null)
            {
                driverManager.SetDriverProperties(key, pros);
                driverManager.CreateDriver(key);
                if (_DRIVER.Value == null)
                {
                    _DRIVER.Value = driverManager;
                }
                else
                {
                    _DRIVER.Value.SetDriverProperties(key, pros);
                    _DRIVER.Value.SetWebDriver(key, driverManager.GetWebDriver(key));
                }

                var driverKey = new Key {
                    Name = key
                };
                _DRIVER_KEY.Value = driverKey;
            }
            else
            {
                throw new Exception("Cannot create web driver");
            }
        }