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; } }
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); }
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; } }
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; } }
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; } }
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; } }