Exemplo n.º 1
0
        public void StartBrowser(BrowserConfiguration browserConfiguration, ServicesCollection childContainer)
        {
            try
            {
                var wrappedWebDriver = WrappedWebDriverCreateService.Create(browserConfiguration);

                childContainer.RegisterInstance <IWebDriver>(wrappedWebDriver);
                childContainer.RegisterInstance(((RemoteWebDriver)wrappedWebDriver).SessionId.ToString(), "SessionId");
                childContainer.RegisterInstance(ConfigurationService.GetSection <WebSettings>().ExecutionSettings.Url, "GridUri");

                ////childContainer.RegisterInstance(new BrowserService(wrappedWebDriver));
                ////childContainer.RegisterInstance(new CookiesService(wrappedWebDriver));
                ////childContainer.RegisterInstance(new DialogService(wrappedWebDriver));
                ////childContainer.RegisterInstance(new JavaScriptService(wrappedWebDriver));
                ////childContainer.RegisterInstance(new InteractionsService(wrappedWebDriver));
                ////childContainer.RegisterInstance(new NavigationService(wrappedWebDriver));
                ////childContainer.RegisterInstance(new ComponentCreateService());
                childContainer.RegisterInstance <IWebDriverElementFinderService>(new NativeElementFinderService(wrappedWebDriver));
                childContainer.RegisterNull <int?>();
                childContainer.RegisterNull <IWebElement>();
                IsBrowserStartedCorrectly = true;
            }
            catch
            {
                IsBrowserStartedCorrectly = false;
                throw;
            }
        }
Exemplo n.º 2
0
        public static AndroidDriver <AndroidElement> CreateAndroidDriver(AppConfiguration appConfiguration, ServicesCollection childContainer)
        {
            var driverOptions = childContainer.Resolve <AppiumOptions>(appConfiguration.ClassFullName) ?? appConfiguration.AppiumOptions;

            driverOptions = driverOptions ?? new AppiumOptions();
            AddAdditionalOptions(driverOptions, MobileCapabilityType.App, appConfiguration.AppPath);
            AddAdditionalOptions(driverOptions, MobileCapabilityType.DeviceName, appConfiguration.DeviceName);
            AddAdditionalOptions(driverOptions, MobileCapabilityType.PlatformName, appConfiguration.PlatformName);
            AddAdditionalOptions(driverOptions, MobileCapabilityType.PlatformVersion, appConfiguration.PlatformVersion);

            if (string.IsNullOrEmpty(appConfiguration.BrowserName))
            {
                AddAdditionalOptions(driverOptions, AndroidMobileCapabilityType.AppPackage, appConfiguration.AppPackage);
                AddAdditionalOptions(driverOptions, AndroidMobileCapabilityType.AppActivity, appConfiguration.AppActivity);
            }
            else
            {
                AddAdditionalOptions(driverOptions, MobileCapabilityType.BrowserName, appConfiguration.BrowserName);
            }

            var wrappedWebDriver = default(AndroidDriver <AndroidElement>);

            if (_shouldStartAppiumLocalService)
            {
                if (AppiumLocalService == null)
                {
                    throw new ArgumentException("The Appium local service is not started. You need to call App?.StartAppiumLocalService() in AssemblyInitialize method.");
                }

                wrappedWebDriver = new AndroidDriver <AndroidElement>(AppiumLocalService, driverOptions);
            }
            else
            {
                wrappedWebDriver = new AndroidDriver <AndroidElement>(new Uri(_appiumServiceUrl), driverOptions);
            }

            wrappedWebDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(ConfigurationService.GetSection <MobileSettings>().TimeoutSettings.ImplicitWaitTimeout);

            childContainer.RegisterInstance <IWebDriver>(wrappedWebDriver);
            childContainer.RegisterInstance(childContainer.Resolve <BrowserService>());
            childContainer.RegisterInstance(childContainer.Resolve <CookiesService>());
            childContainer.RegisterInstance(childContainer.Resolve <DialogService>());
            childContainer.RegisterInstance(childContainer.Resolve <JavaScriptService>());
            childContainer.RegisterInstance(childContainer.Resolve <NavigationService>());
            childContainer.RegisterInstance(childContainer.Resolve <ComponentCreateService>());
            var webDriver = childContainer.Resolve <IWebDriver>();

            childContainer.RegisterInstance <IWebDriverElementFinderService>(new NativeElementFinderService(webDriver));
            childContainer.RegisterNull <int?>();
            childContainer.RegisterNull <IWebElement>();

            return(wrappedWebDriver);
        }
        public static IOSDriver <IOSElement> CreateIOSDriver(AppConfiguration appConfiguration, ServicesCollection childContainer)
        {
            var driverOptions = childContainer.Resolve <AppiumOptions>(appConfiguration.ClassFullName) ?? appConfiguration.AppiumOptions;

            driverOptions.AddAdditionalCapability(MobileCapabilityType.App, appConfiguration.AppPath);
            driverOptions.AddAdditionalCapability(MobileCapabilityType.DeviceName, appConfiguration.DeviceName);
            driverOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, appConfiguration.PlatformName);
            driverOptions.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, appConfiguration.PlatformVersion);
            driverOptions.AddAdditionalCapability(MobileCapabilityType.AutomationName, "XCUITest");

            IOSDriver <IOSElement> wrappedWebDriver;

            if (_shouldStartAppiumLocalService)
            {
                if (AppiumLocalService == null)
                {
                    throw new ArgumentException("The Appium local service is not started. You need to call App?.StartAppiumLocalService() in AssemblyInitialize method.");
                }

                wrappedWebDriver = new IOSDriver <IOSElement>(AppiumLocalService, driverOptions);
            }
            else
            {
                wrappedWebDriver = new IOSDriver <IOSElement>(new Uri(_appiumServiceUrl), driverOptions);
            }

            wrappedWebDriver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(180);

            childContainer.RegisterInstance(wrappedWebDriver);
            childContainer.RegisterInstance <IWebDriver>(wrappedWebDriver);
            childContainer.RegisterInstance(childContainer.Resolve <BrowserService>());
            childContainer.RegisterInstance(childContainer.Resolve <CookiesService>());
            childContainer.RegisterInstance(childContainer.Resolve <DialogService>());
            childContainer.RegisterInstance(childContainer.Resolve <JavaScriptService>());
            childContainer.RegisterInstance(childContainer.Resolve <NavigationService>());
            childContainer.RegisterInstance(childContainer.Resolve <ElementCreateService>());
            var webDriver = childContainer.Resolve <IWebDriver>();

            childContainer.RegisterInstance <IWebDriverElementFinderService>(new NativeElementFinderService(webDriver));
            childContainer.RegisterNull <int?>();
            childContainer.RegisterNull <IWebElement>();

            return(wrappedWebDriver);
        }
Exemplo n.º 4
0
 public void StartApp(AppInitializationInfo appConfiguration, ServicesCollection childContainer)
 {
     try
     {
         var wrappedWebDriver = WrappedWebDriverCreateService.Create(appConfiguration, childContainer);
         childContainer.RegisterInstance <WindowsDriver <WindowsElement> >(wrappedWebDriver);
         ////childContainer.RegisterInstance(new AppService(wrappedWebDriver));
         ////childContainer.RegisterInstance(new ComponentCreateService());
         childContainer.RegisterNull <int?>();
         childContainer.RegisterNull <IWebElement>();
         childContainer.RegisterNull <WindowsElement>();
         IsAppStartedCorrectly = true;
     }
     catch (Exception e)
     {
         e.PrintStackTrace();
         IsAppStartedCorrectly = false;
         throw;
     }
 }
Exemplo n.º 5
0
 public void StartApp(AppConfiguration appConfiguration, ServicesCollection childContainer)
 {
     try
     {
         var wrappedWebDriver = WrappedWebDriverCreateService.Create(appConfiguration, childContainer);
         childContainer.RegisterInstance(wrappedWebDriver);
         childContainer.RegisterInstance(new AppService(wrappedWebDriver));
         childContainer.RegisterInstance(new ElementCreateService());
         childContainer.RegisterNull <int?>();
         childContainer.RegisterNull <IWebElement>();
         childContainer.RegisterNull <WindowsElement>();
         IsAppStartedCorrectly = true;
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         IsAppStartedCorrectly = false;
         throw;
     }
 }
Exemplo n.º 6
0
        public void StartBrowser(BrowserConfiguration browserConfiguration, ServicesCollection childContainer)
        {
            try
            {
                var wrappedWebDriver = WrappedWebDriverCreateService.Create(browserConfiguration);

                childContainer.RegisterInstance <IWebDriver>(wrappedWebDriver);
                childContainer.RegisterInstance(((WebDriver)wrappedWebDriver).SessionId.ToString(), "SessionId");
                childContainer.RegisterInstance(ConfigurationService.GetSection <WebSettings>().ExecutionSettings.Url, "GridUri");
                childContainer.RegisterInstance <IWebDriverElementFinderService>(new NativeElementFinderService(wrappedWebDriver));
                childContainer.RegisterNull <int?>();
                childContainer.RegisterNull <IWebElement>();
                IsBrowserStartedCorrectly = true;
            }
            catch (Exception ex)
            {
                DebugInformation.PrintStackTrace(ex);
                IsBrowserStartedCorrectly = false;
                throw;
            }
        }
Exemplo n.º 7
0
        public void StartApp(AppConfiguration appConfiguration, ServicesCollection childContainer)
        {
            try
            {
                if (appConfiguration.MobileOSType.Equals(MobileOSType.Android))
                {
                    var wrappedWebDriver = WrappedAppiumCreateService.CreateAndroidDriver(appConfiguration, childContainer);
                    childContainer.RegisterInstance(wrappedWebDriver);
                    try
                    {
                        wrappedWebDriver.HideKeyboard();
                    }
                    catch
                    {
                        // ignore
                    }
                }
                else
                {
                    WrappedAppiumCreateService.CreateIOSDriver(appConfiguration, childContainer);
                }

                childContainer.RegisterInstance(childContainer.Resolve <ElementCreateService>());
                childContainer.RegisterNull <int?>();
                childContainer.RegisterNull <IWebElement>();
                childContainer.RegisterNull <AndroidElement>();
                childContainer.RegisterNull <IOSElement>();
                IsAppStartedCorrectly = true;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                Telemetry.Instance.TrackException(e);
                IsAppStartedCorrectly = false;
                throw;
            }
        }