Exemple #1
0
        public static void CreateInstance()
        {
            try
            {
                string deviceType = GlobalParameters.CONFIG_DEVICE_TYPE;
                string enviroment = GlobalParameters.CONFIG_ENVIRONMENT;

                if (INSTANCE == null)
                {
                    appiumLocalService = new AppiumServiceBuilder().UsingAnyFreePort().Build();
                    appiumLocalService.Start();

                    switch (enviroment)
                    {
                    case "Local":
                        if (deviceType.Equals("Android"))
                        {
                            var appiumOptions = new AppiumOptions();
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.App, GlobalParameters.ANDROID_APP);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.DeviceName, GlobalParameters.ANDROID_DEVICE_NAME);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, GlobalParameters.ANDROID_PLATAFORM_NAME);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.Udid, GlobalParameters.ANDROID_UDID);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, GlobalParameters.ANDROID_PLATAFORM_VERSION);

                            //Opcionais
                            //appiumOptions.AddAdditionalCapability(MobileCapabilityType.BrowserName, GlobalParameters.ANDROID_BROWSER_NAME);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.NewCommandTimeout, GlobalParameters.CONFIG_DEFAULT_TIMEOUT_IN_SECONDS);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.NoReset, GlobalParameters.ANDROID_NO_RESET);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.FullReset, GlobalParameters.ANDROID_FULL_RESET);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.Orientation, GlobalParameters.ANDROID_ORIENTATION);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.AutomationName, GlobalParameters.ANDROID_AUTOMATION_NAME);

                            INSTANCE = new AndroidDriver <AppiumWebElement>(new Uri(GlobalParameters.APPIUM_SERVER), appiumOptions, TimeSpan.FromSeconds(GlobalParameters.CONFIG_DEFAULT_TIMEOUT_IN_SECONDS));
                        }
                        if (deviceType.Equals("IOS"))
                        {
                            var appiumOptions = new AppiumOptions();
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, GlobalParameters.IOS_PLATFORM_NAME);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, GlobalParameters.IOS_PLATFORM_VERSION);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.DeviceName, GlobalParameters.IOS_DEVICE_NAME);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.AutomationName, GlobalParameters.IOS_AUTOMATION_NAME);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.App, GlobalParameters.IOS_APP);
                            //appiumOptions.AddAdditionalCapability("autoAcceptAlerts", "true");
                            //appiumOptions.AddAdditionalCapability("unicodeKeyboard", "true");
                            //appiumOptions.AddAdditionalCapability("resetKeyboard", "true");

                            //appiumOptions.AddAdditionalCapability("autoDismissAlerts", "true");
                            //appiumOptions.AddAdditionalCapability(MobileCapabilityType.bundleId", GlobalParameters.IOSBundleId);
                            //appiumOptions.AddAdditionalCapability(MobileCapabilityType.Udid, GlobalParameters.IOSUDID);
                            //appiumOptions.AddAdditionalCapability(MobileCapabilityType.BrowserName, GlobalParameters.IosBrowserName);
                            //appiumOptions.AddAdditionalCapability(MobileCapabilityType.NoReset", GlobalParameters.IOSNoReset);
                            //appiumOptions.AddAdditionalCapability(MobileCapabilityType.FullReset", GlobalParameters.IOSFullReset);

                            INSTANCE = new IOSDriver <AppiumWebElement>(new Uri(GlobalParameters.APPIUM_SERVER), appiumOptions);
                        }

                        break;

                    case "Remoto":
                        if (deviceType.Equals("Android"))
                        {
                            var appiumOptions = new AppiumOptions();
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, GlobalParameters.ANDROID_PLATAFORM_NAME);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.AutomationName, GlobalParameters.ANDROID_AUTOMATION_NAME);
                            appiumOptions.AddAdditionalCapability("testobject_api_key", GlobalParameters.DEVICE_FARM_KEY);
                            appiumOptions.AddAdditionalCapability(MobileCapabilityType.AppiumVersion, GlobalParameters.APPIUM_VERSION);

                            INSTANCE = new AndroidDriver <AppiumWebElement>(new Uri(GlobalParameters.DEVICE_FARM_URL), appiumOptions);
                        }
                        else if (deviceType == "IOS")
                        {
                        }
                        break;

                    default:
                        throw new Exception("O devive informado não existe ou não é suportado pela automação");
                    }
                }
            }
            catch (Exception e)
            {
                e.Message.ToString();
            }
        }
 public static void ServiceStart()
 {
     service = OpenQA.Selenium.Appium.Service.AppiumLocalService.BuildDefaultService();
     service.Start();
 }
Exemple #3
0
 /// <summary>
 /// Initializes a new instance of the AppiumDriver class using the specified Appium local service, desired capabilities, and command timeout.
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public AppiumDriver(AppiumLocalService service, ICapabilities desiredCapabilities, TimeSpan commandTimeout)
     : this(new AppiumCommandExecutor(service, commandTimeout), desiredCapabilities)
 {
 }
Exemple #4
0
 /// <summary>
 /// Initializes a new instance of the AppiumDriver class using desired capabilities and command timeout
 /// </summary>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public AppiumDriver(ICapabilities desiredCapabilities, TimeSpan commandTimeout)
     : this(AppiumLocalService.BuildDefaultService(), desiredCapabilities, commandTimeout)
 {
 }
Exemple #5
0
 public AppiumDriver(AppiumLocalService service, ICapabilities appiumOptions)
     : this(service, appiumOptions, DefaultCommandTimeout)
 {
 }
Exemple #6
0
 /// <summary>
 /// Initializes a new instance of the IOSDriver class using the specified Appium local service and desired capabilities
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities of the browser.</param>
 public IOSDriver(AppiumLocalService service, DesiredCapabilities desiredCapabilities)
     : base(service, SetPlatformToCapabilities(desiredCapabilities, Platform))
 {
 }
 public Utilities(AppiumLocalService AppiumLocalService, AndroidDriver <AndroidElement> AndroidContext)
 {
     _appiumLocalService = AppiumLocalService;
     _androiddriver      = AndroidContext;
 }
Exemple #8
0
 public AppiumDriver(ICapabilities appiumOptions)
     : this(AppiumLocalService.BuildDefaultService(), appiumOptions)
 {
 }
 public MacDriver(AppiumLocalService service, ICapabilities desiredCapabilities) : base(service, desiredCapabilities)
 {
 }
 public MacDriver(AppiumLocalService service, ICapabilities desiredCapabilities, TimeSpan commandTimeout) : base(service, desiredCapabilities, commandTimeout)
 {
 }
 public static void StopAppium()
 {
     AppiumLocalService?.Dispose();
 }
Exemple #12
0
 public void IniciarServidor()
 {
     log     = new FileInfo("Log.txt");
     service = new AppiumServiceBuilder().WithLogFile(log).Build();
     service.Start();
 }
Exemple #13
0
 public AndroidDriver <AndroidElement> StartAppiumServerForHybrid()
 {
     AppiumServiceContext = appiumUtilities.StartAppiumLocalService();
     AndroidContext       = appiumUtilities.InitializeAndroidHybridApp();
     return(AndroidContext);
 }
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using the specified Appium local service and Appium options
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="driverOptions">An <see cref="ICapabilities"/> object containing the Appium options of the browser.</param>
 public AndroidDriver(AppiumLocalService service, DriverOptions driverOptions)
     : base(service, SetPlatformToCapabilities(driverOptions, Platform))
 {
 }
 public AppiumUtilities(AppiumLocalService appiumLocalService, AndroidDriver <AndroidElement> androidDriver = null, IOSDriver <IOSElement> iOSDriver = null)
 {
     _appiumLocalService = appiumLocalService;
     _androidDriver      = androidDriver;
     _iosDriver          = iOSDriver;
 }
 /// <summary>
 /// Initializes a new instance of the AndroidDriver class using the specified Appium local service, Appium options, and command timeout.
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="driverOptions">An <see cref="ICapabilities"/> object containing the Appium options.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public AndroidDriver(AppiumLocalService service, DriverOptions driverOptions,
                      TimeSpan commandTimeout)
     : base(service, SetPlatformToCapabilities(driverOptions, Platform), commandTimeout)
 {
 }
 public void CheckAbilityToBuildDefaultService()
 {
     AppiumLocalService.BuildDefaultService();
 }
Exemple #18
0
 public AppiumDriver(ICapabilities appiumOptions, TimeSpan commandTimeout)
     : this(AppiumLocalService.BuildDefaultService(), appiumOptions, commandTimeout)
 {
 }
Exemple #19
0
        public void TestSetup()
        {
            var binPath            = Environment.GetEnvironmentVariable("BIN_PATH") ?? Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, ".."));
            var waitStartupTimeout = Environment.GetEnvironmentVariable("WAIT_STARTUP_TIMEOUT") ?? "20";
            var appArguments       = Environment.GetEnvironmentVariable("APP_ARGUMENTS");

            var appOpts = new AppiumOptions();

            appOpts.AddAdditionalCapability("platformName", "Windows");
            appOpts.AddAdditionalCapability("deviceName", "WindowsPC");
            appOpts.AddAdditionalCapability("ms:experimental-webdriver", true);
            appOpts.AddAdditionalCapability("ms:waitForAppLaunch", waitStartupTimeout);
            appOpts.AddAdditionalCapability("app", Path.Combine(binPath, "contactpoint.exe"));
            appOpts.AddAdditionalCapability("appArguments", $"/DisableSettingsFormAutoStartup /DisableSplashScreen ${appArguments}");
            appOpts.AddAdditionalCapability("appWorkingDir", binPath);

            var serviceUrl = Environment.GetEnvironmentVariable("APPIUM_URL");

            if (!string.IsNullOrEmpty(serviceUrl))
            {
                AppSession = new WindowsDriver <WindowsElement>(new Uri(serviceUrl), appOpts);
            }
            else
            {
                AppiumService = AppiumLocalService.BuildDefaultService();
                AppiumService.Start();

                AppSession = new WindowsDriver <WindowsElement>(AppiumService, appOpts);
            }

            try
            {
                MainForm = AppSession.FindElementByXPath("//Window[@Name=\"IP PHONE\"][@AutomationId=\"MainForm\"]");
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }

            if (MainForm == null)
            {
                foreach (var hndl in AppSession.WindowHandles)
                {
                    try
                    {
                        AppSession.SwitchTo().Window(hndl);

                        MainForm = AppSession.FindElementByXPath("//Window[@Name=\"IP PHONE\"][@AutomationId=\"MainForm\"]");
                        if (MainForm != null)
                        {
                            break;
                        }
                    }
                    catch (Exception e)
                    {
                        Debug.WriteLine(e);
                    }
                }

                AppSession.LaunchApp();
            }
        }
Exemple #20
0
 public AppiumDriver(AppiumLocalService service, ICapabilities appiumOptions, TimeSpan commandTimeout)
     : this(new AppiumCommandExecutor(service, commandTimeout), appiumOptions)
 {
 }
 /// <summary>
 /// Initializes a new instance of the WindowsDriver class using the specified Appium local service, Appium options, and command timeout.
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="AppiumOptions">An <see cref="ICapabilities"/> object containing the Appium options.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public WindowsDriver(AppiumLocalService service, AppiumOptions AppiumOptions,
                      TimeSpan commandTimeout)
     : base(service, SetPlatformToCapabilities(AppiumOptions, Platform), commandTimeout)
 {
 }
Exemple #22
0
 /// <summary>
 /// Initializes a new instance of the AppiumDriver class using the specified Appium local service and desired capabilities
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 public AppiumDriver(AppiumLocalService service, ICapabilities desiredCapabilities)
     : this(service, desiredCapabilities, RemoteWebDriver.DefaultCommandTimeout)
 {
 }
 /// <summary>
 /// Initializes a new instance of the WindowsDriver class using the specified Appium local service and Appium options
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="AppiumOptions">An <see cref="ICapabilities"/> object containing the Appium options of the browser.</param>
 public WindowsDriver(AppiumLocalService service, AppiumOptions AppiumOptions)
     : base(service, SetPlatformToCapabilities(AppiumOptions, Platform))
 {
 }
Exemple #24
0
 /// <summary>
 /// Initializes a new instance of the AppiumDriver class using desired capabilities
 /// </summary>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 public AppiumDriver(ICapabilities desiredCapabilities)
     : this(AppiumLocalService.BuildDefaultService(), desiredCapabilities)
 {
 }
Exemple #25
0
 public void CleanUp()
 {
     _appiumLocalService?.Dispose();
     _appiumLocalService = null;
 }
 /// <summary>
 /// Initializes a new instance of the TizenDriver class using the specified Appium local service, desired capabilities, and command timeout.
 /// </summary>
 /// <param name="service">the specified Appium local service</param>
 /// <param name="desiredCapabilities">An <see cref="ICapabilities"/> object containing the desired capabilities.</param>
 /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
 public TizenDriver(AppiumLocalService service, DesiredCapabilities desiredCapabilities, TimeSpan commandTimeout)
     : base(service, SetPlatformToCapabilities(desiredCapabilities, Platform), commandTimeout)
 {
 }
        //public void SetDriver(AppiumDriver<AppiumWebElement> driver)
        //{
        //    driver = driver;
        //}

        public static AppiumDriver <AppiumWebElement> InitApp(string deviceType = "Android", string environment = "local")
        {
            try
            {
                appiumLocalService = new AppiumServiceBuilder().UsingAnyFreePort().Build();
                appiumLocalService.Start();

                if (environment.Equals("local"))
                {
                    if (deviceType.Equals("Android"))
                    {
                        var appiumOptions = new AppiumOptions();
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.App, GlobalParameters.AndroidAppPath);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.DeviceName, GlobalParameters.AndroidDeviceName);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, GlobalParameters.AndroidPlatformName);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.Udid, GlobalParameters.AndroidUDID);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, GlobalParameters.AndroidPlatformVersion);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.BrowserName, GlobalParameters.AndroidBrowserName);

                        //Opcionais
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.NoReset, GlobalParameters.AndroidNoReset);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.FullReset, GlobalParameters.AndroidFullReset);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.Orientation, GlobalParameters.AndroidOrientation);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.AutomationName, GlobalParameters.AppiumAutomationName);

                        driver = new AndroidDriver <AppiumWebElement>(new Uri(GlobalParameters.AppiumServerName), appiumOptions);
                    }
                    else if (deviceType.Equals("IOS"))
                    {
                        var appiumOptions = new AppiumOptions();
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, GlobalParameters.IOSPlatformName);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, GlobalParameters.IOSPlatformVersion);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.DeviceName, GlobalParameters.IOSDeviceName);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.AutomationName, GlobalParameters.IOSAutomationName);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.App, GlobalParameters.IOSAppPath);
                        //appiumOptions.AddAdditionalCapability(MobileCapabilityType.bundleId", GlobalParameters.IOSBundleId);
                        //appiumOptions.AddAdditionalCapability(MobileCapabilityType.Udid, GlobalParameters.IOSUDID);
                        //appiumOptions.AddAdditionalCapability(MobileCapabilityType.BrowserName, GlobalParameters.IosBrowserName);
                        //appiumOptions.AddAdditionalCapability(MobileCapabilityType.NoReset", GlobalParameters.IOSNoReset);
                        //appiumOptions.AddAdditionalCapability(MobileCapabilityType.FullReset", GlobalParameters.IOSFullReset);

                        driver = new AndroidDriver <AppiumWebElement>(new Uri(GlobalParameters.AppiumServerName), appiumOptions);
                    }
                }
                else
                { // Essa parte cria a instancia em uma Device Farm
                    if (deviceType.Equals("Android"))
                    {
                        var appiumOptions = new AppiumOptions();
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, GlobalParameters.AndroidPlatformName);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.AutomationName, GlobalParameters.AppiumAutomationName);
                        appiumOptions.AddAdditionalCapability("testobject_api_key", GlobalParameters.TestObjectApiKey);
                        appiumOptions.AddAdditionalCapability(MobileCapabilityType.AppiumVersion, GlobalParameters.AppiumVersion);

                        driver = new AndroidDriver <AppiumWebElement>(new Uri(GlobalParameters.TestObjectURL), appiumOptions);
                    }
                    else if (deviceType == "IOS")
                    {
                    }
                }
            }
            catch (Exception e)
            {
                e.Message.ToString();//System.out.print("Vish! Nao conseguiu criar o driver!!!");
            }
            return(driver);
        }