public void BeforeAll()
        {
            DesiredCapabilities capabilities = Caps.getIos82Caps(Apps.get("iosWebviewApp"));

            if (Env.isSauce())
            {
                capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME"));
                capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
                capabilities.SetCapability("tags", new string[] { "sample" });
            }
            Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIForIOS;

            driver = new IOSDriver <IWebElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
            driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
        }
Beispiel #2
0
        public static void TearDown()
        {
            // Close Notepad
            NotepadSession.Quit();
            NotepadSession = null;

            // Launch Windows Explorer to delete the saved text file above
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", ExplorerAppId);
            IOSDriver <IOSElement> WindowsExplorerSession = new IOSDriver <IOSElement>(new Uri(AppDriverUrl), appCapabilities);

            Assert.IsNotNull(WindowsExplorerSession);

            // Create Desktop session to control context menu and access dialogs
            DesiredCapabilities desktopCapabilities = new DesiredCapabilities();

            desktopCapabilities.SetCapability("app", "Root");
            IOSDriver <IOSElement> DesktopSession = new IOSDriver <IOSElement>(new Uri(AppDriverUrl), desktopCapabilities);

            Assert.IsNotNull(DesktopSession);

            // Navigate Windows Explorer to the target save location folder
            Thread.Sleep(1000);                                                         // Wait for 1 second
            var addressBandRoot = WindowsExplorerSession.FindElementByClassName("Address Band Root");
            var addressToolbar  = addressBandRoot.FindElementByAccessibilityId("1001"); // Address Band Toolbar

            WindowsExplorerSession.Mouse.Click(addressToolbar.Coordinates);
            addressBandRoot.FindElementByAccessibilityId("41477").SendKeys(TargetSaveLocation + OpenQA.Selenium.Keys.Enter);

            // Locate the saved test file
            WindowsExplorerSession.FindElementByAccessibilityId("SearchEditBox").SendKeys(TestFileName);

            // Delete the located saved test file
            Thread.Sleep(1000); // Wait for 1 second
            var shellFolderView = WindowsExplorerSession.FindElementByName("Shell Folder View");
            var targetFileItem  = shellFolderView.FindElementByName("NotepadTestOutputFile.txt");

            Assert.IsNotNull(targetFileItem);
            WindowsExplorerSession.Mouse.Click(targetFileItem.Coordinates);
            WindowsExplorerSession.Keyboard.SendKeys(OpenQA.Selenium.Keys.Delete);
            WindowsExplorerSession.Keyboard.SendKeys(OpenQA.Selenium.Keys.Escape);

            WindowsExplorerSession.Quit();
            WindowsExplorerSession = null;
            DesktopSession.Quit();
            DesktopSession = null;
        }
Beispiel #3
0
        [SetUp] //@Before
        public void Setup()
        {
            if (_appPlatformName == "Web")
            {
                //set up for each test case
                _driver = new ChromeDriver();
                _driver.Navigate().GoToUrl(_webUrl);

                _homePage   = new HomePage(_driver);
                _signInPage = new SignInPage(_driver);
            }
            else
            {
                DesiredCapabilities caps = new DesiredCapabilities();
                caps.SetCapability("platformName", _appPlatformName);
                if (_appPlatformName == "Android")
                {
                    //Set Capabilities for Appium Android
                    caps.SetCapability("appPackage", _appAndroidAppPackage);
                    caps.SetCapability("deviceName", _appAndroidDeviceName);
                    caps.SetCapability("app-activity", _appAndroidAppActivity);
                    caps.SetCapability("takesScreenshot", true);
                    caps.SetCapability("version", _appAndroidPlatformVersion);
                    caps.SetCapability("appPath", _appAndroidAppPath);
                    caps.SetCapability("app", _appAndroidAppPath);
                    caps.SetCapability("autoLaunch", "true");
                    caps.SetCapability("noReset", "true");

                    //Start RemoteWebDriver
                    _androidDriver = new AndroidDriver <AndroidElement>(new Uri(_appAndroidUrl), caps);
                    _androidDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(150);
                }
                else if (_appPlatformName == "iOS")
                {
                    //Set Capabilities for Appium iOS
                    caps.SetCapability("takesScreenshot", true);
                    caps.SetCapability("PlatformVersion", _appiOSPlatformVersion);
                    caps.SetCapability("deviceName", _appiOSDeviceName);
                    caps.SetCapability("app", _appiOSAppPath);
                    caps.SetCapability("autoLaunch", "true");
                    caps.SetCapability("noReset", "true");

                    //Start RemoteWebDriver
                    _iOSDriver = new IOSDriver <IOSElement>(new Uri(_appiOSUrl), caps);
                    _iOSDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(60);
                }
            }
        }
Beispiel #4
0
        public new void OneTimeSetup()
        {
            eyes_ = new Eyes();

            eyes_.MatchTimeout = TimeSpan.FromSeconds(10);
            eyes_.Batch        = TestDataProvider.BatchInfo;
            eyes_.SaveNewTests = false;

            driver_ = InitMobileDriverOnSauceLabs();

            IWebElement button = driver_.FindElement(buttonSelector_);

            button.Click();

            eyes_.CutProvider = cutProvider_;
        }
Beispiel #5
0
        public void TestMethod1()
        {
            var appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", "93011e2b-f3e0-4b2c-9307-fe76414c4d3e_e4thgbjj8qbka!App");
            //using (var appSession = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities))
            using (var appSession = new IOSDriver <IOSElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities))
            {
                var button1Elem = appSession.FindElementByAccessibilityId("Button1") as IOSElement;
                Assert.IsNotNull(button1Elem);
                button1Elem.Click();
                var textBox1Elem = appSession.FindElementByAccessibilityId("TextBox1") as IOSElement;
                Assert.IsNotNull(textBox1Elem);
                Assert.AreEqual("Hello World!", textBox1Elem.Text);
            }
        }
Beispiel #6
0
        public void GetWindowHandle()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", CommonTestSettings.CalculatorAppId);
            IOSDriver <IOSElement> session = new IOSDriver <IOSElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities);

            Assert.IsNotNull(session);
            Assert.IsNotNull(session.SessionId);

            string windowHandle = session.CurrentWindowHandle;

            Assert.IsNotNull(windowHandle);
            session.Quit();
            session = null;
        }
        public void BeforeAll()
        {
            var capabilities = Caps.GetIosCaps(Apps.Get("iosTestApp"));

            if (Env.ServerIsRemote())
            {
                capabilities.AddAdditionalCapability("username", Env.GetEnvVar("SAUCE_USERNAME"));
                capabilities.AddAdditionalCapability("accessKey", Env.GetEnvVar("SAUCE_ACCESS_KEY"));
                capabilities.AddAdditionalCapability("name", "ios - simple");
                capabilities.AddAdditionalCapability("tags", new[] { "sample" });
            }
            var serverUri = Env.ServerIsRemote() ? AppiumServers.RemoteServerUri : AppiumServers.LocalServiceUri;

            _driver = new IOSDriver <IOSElement>(serverUri, capabilities, Env.InitTimeoutSec);
            _driver.Manage().Timeouts().ImplicitWait = Env.ImplicitTimeoutSec;
        }
Beispiel #8
0
        public void GetSessionCapabilities()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", CommonTestSettings.AlarmClockAppId);

            session = new IOSDriver <IOSElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities);
            Assert.IsNotNull(session);
            Assert.IsNotNull(session.SessionId);

            using (HttpWebResponse response = WebRequest.Create(CommonTestSettings.WindowsApplicationDriverUrl + "/session/" + session.SessionId).GetResponse() as HttpWebResponse)
            {
                var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
                Assert.AreEqual("{\"sessionId\":\"" + session.SessionId + "\",\"status\":0,\"value\":{\"app\":\"Microsoft.WindowsAlarms_8wekyb3d8bbwe!App\",\"platformName\":\"iOS\"}}", responseString);
            }
        }
        private static IOSDriver <IOSElement> StartApp()
        {
            System.Environment.SetEnvironmentVariable("DEVELOPER_DIR", @"/Applications/Xcode.app");

            var capabilities = new AppiumOptions();

            capabilities.AddAdditionalCapability(IOSMobileCapabilityType.BundleId, "com.fluentbytes.carvedrock");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "ios");
            capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "iPhone 11");
            capabilities.AddAdditionalCapability(MobileCapabilityType.AutomationName, "XCUITest");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "13.3");

            var driver = new IOSDriver <IOSElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);

            return(driver);
        }
        public void beforeAll()
        {
            AppiumOptions capabilities = Caps.getIos102Caps(Apps.get("iosUICatalogApp"));

            if (Env.isSauce())
            {
                capabilities.AddAdditionalCapability("username", Env.getEnvVar("SAUCE_USERNAME"));
                capabilities.AddAdditionalCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
                capabilities.AddAdditionalCapability("name", "ios - complex");
                capabilities.AddAdditionalCapability("tags", new string[] { "sample" });
            }
            Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIForIOS;

            driver = new IOSDriver <AppiumWebElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
            driver.Manage().Timeouts().ImplicitWait = Env.IMPLICIT_TIMEOUT_SEC;
        }
Beispiel #11
0
        public iOSDriver()
        {
            DesiredCapabilities desiredCapabilities = null;
            string   standAloneServerURI            = null;
            TimeSpan serverWait;
            TimeSpan wait;

            var driver = new IOSDriver <AppiumWebElement>
                         (
                new Uri(standAloneServerURI),
                desiredCapabilities,
                serverWait
                         );

            driver.Manage().Timeouts().ImplicitlyWait(wait);
        }
        public IOSDriver <IOSElement> InitializeiOSNativeApp()
        {
            DesiredCapabilities desiredCapabilities = new DesiredCapabilities();

            desiredCapabilities.SetCapability(MobileCapabilityType.PlatformName, "iOS");
            desiredCapabilities.SetCapability(MobileCapabilityType.DeviceName, "iPhone X");
            desiredCapabilities.SetCapability(MobileCapabilityType.AutomationName, "XCUITest");
            desiredCapabilities.SetCapability(MobileCapabilityType.PlatformVersion, "11.4");
            //desiredCapabilities.SetCapability(MobileCapabilityType.BrowserName, "Safari");

            //desiredCapabilities.SetCapability(MobileCapabilityType.Udid, "115FBFED-55C9-47A5-9D6C-D8A8C01D701D");
            desiredCapabilities.SetCapability(MobileCapabilityType.App, "io.ionic.starter.wow");
            IOSDriver <IOSElement> iOSDriver = new IOSDriver <IOSElement>(_appiumLocalService, desiredCapabilities);

            return(iOSDriver);
        }
Beispiel #13
0
        public static void InitialDevice(DeviceType device, dynamic curDriver)
        {
            PlatForm = device;
            switch (device)
            {
            case DeviceType.Android:
                driver_Android = curDriver;
                Size           = driver_Android.Manage().Window.Size;
                break;

            case DeviceType.IOS:
                driver_IOS = curDriver;
                Size       = driver_IOS.Manage().Window.Size;
                break;
            }
        }
        public void WaitTestCase()
        {
            IOSDriver <IWebElement> driver = new IOSDriver <IWebElement>(defaultUri, capabilities);
            RequestProcessor        re     = setupTouchAction();
            ITouchAction            a;

            a = new TouchAction(driver)
                .Wait(1000);
            a.Perform();
            Assert.AreEqual(re.inputData, "{\"actions\":[{\"action\":\"wait\",\"options\":{\"ms\":1000}}]}");

            a = new TouchAction(driver)
                .Wait();
            a.Perform();
            Assert.AreEqual(re.inputData, "{\"actions\":[{\"action\":\"wait\"}]}");
        }
Beispiel #15
0
        public static void Main(string[] args)
        {
            DesiredCapabilities caps = new DesiredCapabilities();

            caps.SetCapability("browserstack.user", userName);
            caps.SetCapability("browserstack.key", accessKey);

            caps.SetCapability("device", "iPhone 7");
            caps.SetCapability("app", "bs://<hashed app-id>");
            IOSDriver <IOSElement> driver = new IOSDriver <IOSElement> (new Uri("http://hub-cloud.browserstack.com/wd/hub"), caps);

            IOSElement loginButton = (IOSElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(
                ExpectedConditions.ElementToBeClickable(MobileBy.AccessibilityId("Log In"))
                );

            loginButton.Click();
            IOSElement emailTextField = (IOSElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(
                ExpectedConditions.ElementToBeClickable(MobileBy.AccessibilityId("Email address"))
                );

            emailTextField.SendKeys("*****@*****.**");

            driver.FindElementByAccessibilityId("Next").Click();
            System.Threading.Thread.Sleep(5000);


            IReadOnlyList <IOSElement> textElements = driver.FindElementsByXPath("//XCUIElementTypeStaticText");

            String matchedString = "";

            foreach (IOSElement textElement in textElements)
            {
                try {
                    String textContent = textElement.Text;
                    if (textContent.Contains("not registered"))
                    {
                        matchedString = textContent;
                    }
                }
                catch (NullReferenceException) {
                    continue;
                }
            }

            Console.WriteLine(matchedString);
            driver.Quit();
        }
Beispiel #16
0
        public static void TearDown()
        {
            ReturnToMainPage();
            SwitchToAlarmTab();

            // Delete all created alarms
            var alarmEntries = AlarmClockSession.FindElementsByName("Windows Application Driver Test Alarm");

            foreach (var alarmEntry in alarmEntries)
            {
                AlarmClockSession.Mouse.ContextClick(alarmEntry.Coordinates);
                AlarmClockSession.FindElementByName("Delete").Click();
            }

            AlarmClockSession.Dispose();
            AlarmClockSession = null;
        }
Beispiel #17
0
        public static IOSDriver <IOSElement> XAMLCatalogSession; // Temporary placeholder until Windows namespace exists

        static public void LaunchApp()
        {
            if (XAMLCatalogSession != null)
            {
                XAMLCatalogSession.Quit();
            }

            // Launch the XAMLCatalog app
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", "49ab0ab8-f42a-485e-9f46-c1348ba16d5c_tk6g8mba0d0k4!App");

            XAMLCatalogSession = new IOSDriver <IOSElement>(RemoteHarnessUrl, appCapabilities);
            Assert.IsNotNull(XAMLCatalogSession);

            XAMLCatalogSession.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(2));
        }
Beispiel #18
0
        public void Init()
        {
            NameValueCollection caps    = ConfigurationManager.GetSection("capabilities/" + profile) as NameValueCollection;
            NameValueCollection devices = ConfigurationManager.GetSection("environments/" + device) as NameValueCollection;

            //DesiredCapabilities capability = new DesiredCapabilities();
            AppiumOptions options = new AppiumOptions();

            foreach (string key in caps.AllKeys)
            {
                options.AddAdditionalCapability(key, caps[key]);
            }

            foreach (string key in devices.AllKeys)
            {
                options.AddAdditionalCapability(key, devices[key]);
            }

            String username = Environment.GetEnvironmentVariable("BROWSERSTACK_USERNAME");

            if (username == null)
            {
                username = ConfigurationManager.AppSettings.Get("user");
            }

            String accesskey = Environment.GetEnvironmentVariable("BROWSERSTACK_ACCESS_KEY");

            if (accesskey == null)
            {
                accesskey = ConfigurationManager.AppSettings.Get("key");
            }

            options.AddAdditionalCapability("browserstack.user", username);
            options.AddAdditionalCapability("browserstack.key", accesskey);

            String appId = Environment.GetEnvironmentVariable("BROWSERSTACK_APP_ID");

            if (appId != null)
            {
                options.AddAdditionalCapability("app", appId);
            }

            Uri uri = new Uri("http://" + ConfigurationManager.AppSettings.Get("server") + "/wd/hub/");

            driver = new IOSDriver <IOSElement>(uri, options);
        }
        static public void Initialize(TestContext context)
        {
            ctx = context;
            var capabilities = new AppiumOptions();

            capabilities.AddAdditionalCapability(IOSMobileCapabilityType.BundleId, "com.fluentbytes.carvedrock");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "ios");
            capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "iPhone 11");
            capabilities.AddAdditionalCapability(MobileCapabilityType.AutomationName, "XCUITest");
            capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "13.3");

            // var _appiumLocalService = new AppiumServiceBuilder().UsingAnyFreePort().Build();
            // _appiumLocalService.Start(); ;
            //driver = new IOSDriver<IOSElement>(_appiumLocalService, capabilities);
            driver = new IOSDriver <IOSElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);
            //driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
        }
Beispiel #20
0
        public void StartDriver()
        {
            if (this.deviceId == null || this.deviceName == null)
            {
                throw new SdkException("Not all required environment variables were set before the start of the test.");
            }

            AppiumOptions appiumOptions = new AppiumOptions();

            appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, MobilePlatform.IOS);
            appiumOptions.AddAdditionalCapability(MobileCapabilityType.Udid, this.deviceId);

            appiumOptions.AddAdditionalCapability(CapabilityType.BrowserName, MobileBrowserType.Safari);
            appiumOptions.AddAdditionalCapability(MobileCapabilityType.DeviceName, this.deviceName);

            this.driver = new IOSDriver <AppiumWebElement>(appiumOptions: appiumOptions);
        }
Beispiel #21
0
        public static IOSDriver <IOSElement> XAMLCatalogSession; // Temporary placeholder until Windows namespace exists

        static public void LaunchApp()
        {
            if (XAMLCatalogSession != null)
            {
                XAMLCatalogSession.Quit();
            }

            // Launch the XAMLCatalog app
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", "0b75acd0-df3e-4edb-bebc-847b0ca4bffb_vddemm0nz1wmr!App");

            XAMLCatalogSession = new IOSDriver <IOSElement>(RemoteHarnessUrl, appCapabilities);
            Assert.IsNotNull(XAMLCatalogSession);

            XAMLCatalogSession.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(2));
        }
Beispiel #22
0
        public void ErrorStaleSessionId()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", CommonTestSettings.AlarmClockAppId);

            session = new IOSDriver <IOSElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities);
            Assert.IsNotNull(session);
            Assert.IsNotNull(session.SessionId);

            string applicationTitle = session.Title;

            Assert.IsNotNull(applicationTitle);
            session.Quit();
            applicationTitle = session.Title;
            Assert.Fail("Exception should have been thrown");
        }
Beispiel #23
0
        public void GetOrientation()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", CommonTestSettings.CalculatorAppId);
            session = new IOSDriver <IOSElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities);
            Assert.IsNotNull(session);
            Assert.IsNotNull(session.SessionId);

            var orientation = session.Orientation;

            Assert.IsNotNull(orientation);
            Assert.IsTrue(orientation == OpenQA.Selenium.ScreenOrientation.Landscape || orientation == OpenQA.Selenium.ScreenOrientation.Portrait);

            session.Quit();
            session = null;
        }
        public void Init()
        {
            NameValueCollection caps    = ConfigurationManager.GetSection("capabilities/" + profile) as NameValueCollection;
            NameValueCollection devices = ConfigurationManager.GetSection("environments/" + device) as NameValueCollection;

            DesiredCapabilities capability = new DesiredCapabilities();

            foreach (string key in caps.AllKeys)
            {
                capability.SetCapability(key, caps[key]);
            }

            foreach (string key in devices.AllKeys)
            {
                capability.SetCapability(key, devices[key]);
            }

            String username = Environment.GetEnvironmentVariable("BROWSERSTACK_USERNAME");

            if (username == null)
            {
                username = ConfigurationManager.AppSettings.Get("user");
            }

            String accesskey = Environment.GetEnvironmentVariable("BROWSERSTACK_ACCESS_KEY");

            if (accesskey == null)
            {
                accesskey = ConfigurationManager.AppSettings.Get("key");
            }

            capability.SetCapability("browserstack.user", username);
            capability.SetCapability("browserstack.key", accesskey);

            if (capability.GetCapability("browserstack.local") != null && capability.GetCapability("browserstack.local").ToString() == "true")
            {
                browserStackLocal = new Local();
                List <KeyValuePair <string, string> > bsLocalArgs = new List <KeyValuePair <string, string> >()
                {
                    new KeyValuePair <string, string>("key", accesskey)
                };
                browserStackLocal.start(bsLocalArgs);
            }

            driver = new IOSDriver <IOSElement>(new Uri("http://" + ConfigurationManager.AppSettings.Get("server") + "/wd/hub/"), capability);
        }
        public IOSApp StartApp(AppiumOptions appiumOptions, AppiumLocalService localService)
        {
            IOSDriver <IOSElement> driver;

            if (appiumOptions == null)
            {
                throw new ArgumentException("appiumOptions can't be null");
            }
            if (localService == null)
            {
                throw new ArgumentException("appium local server can't be null");
            }

            driver = new IOSDriver <IOSElement>(localService.ServiceUrl, appiumOptions, m_implicitWait);
            driver.Manage().Timeouts().ImplicitWait = m_implicitWait;
            return(new IOSApp(driver, localService));
        }
Beispiel #26
0
        public void GetWindowHandles()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", CommonTestSettings.NotepadAppId);

            IOSDriver <IOSElement> multiWindowsSession = new IOSDriver <IOSElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities);

            Assert.IsNotNull(multiWindowsSession);
            Assert.IsNotNull(multiWindowsSession.SessionId);

            var handles = multiWindowsSession.WindowHandles;

            Assert.IsNotNull(handles);
            Assert.IsTrue(handles.Count > 0);
            multiWindowsSession.Quit();
        }
Beispiel #27
0
        public void GetSessionsMultipleEntry()
        {
            DesiredCapabilities alarmAppCapabilities = new DesiredCapabilities();

            alarmAppCapabilities.SetCapability("app", CommonTestSettings.AlarmClockAppId);
            IOSDriver <IOSElement> alarmSession = new IOSDriver <IOSElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), alarmAppCapabilities);

            Assert.IsNotNull(alarmSession);

            DesiredCapabilities notepadAppCapabilities = new DesiredCapabilities();

            notepadAppCapabilities.SetCapability("app", CommonTestSettings.NotepadAppId);
            IOSDriver <IOSElement> notepadSession = new IOSDriver <IOSElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), notepadAppCapabilities);

            Assert.IsNotNull(notepadSession);

            using (HttpWebResponse response = WebRequest.Create(CommonTestSettings.WindowsApplicationDriverUrl + "/sessions").GetResponse() as HttpWebResponse)
            {
                var     responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
                JObject responseObject = JObject.Parse(responseString);
                Assert.AreEqual(0, (int)responseObject["status"]);

                JArray capabilitiesArray = (JArray)responseObject["value"];
                Assert.AreEqual(2, capabilitiesArray.Count);

                foreach (var entry in capabilitiesArray.Children())
                {
                    if (entry["id"].ToString() == alarmSession.SessionId.ToString())
                    {
                        Assert.AreEqual(CommonTestSettings.AlarmClockAppId, entry["capabilities"]["app"].ToString());
                    }
                    else if (entry["id"].ToString() == notepadSession.SessionId.ToString())
                    {
                        Assert.AreEqual(CommonTestSettings.NotepadAppId, entry["capabilities"]["app"].ToString());
                    }
                    else
                    {
                        Assert.Fail("This session entry is unexpected");
                    }
                }
            }

            alarmSession.Quit();
            notepadSession.Quit();
        }
        public static void Setup(TestContext context)
        {
            //Launch the app
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", "57b3a460-8843-4d84-822a-9f316274c2bf_tz6ph9wdjhqw8!App");
            AppSession = new IOSDriver <IOSElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
            Assert.IsNotNull(AppSession);
            AppSession.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(2));

            //locate elements
            ButtonPlusElement = AppSession.FindElementByAccessibilityId("btn_plus") as IOSElement;
            Assert.IsNotNull(ButtonPlusElement);
            ButtonPlusElement.Click();
            ButtonPlusElement.Click();
            RestultTextElement = AppSession.FindElementByAccessibilityId("result") as IOSElement;
            Assert.IsNotNull(RestultTextElement);
        }
Beispiel #29
0
        public void StartingIosAppWithCapabilitiesOnlyTest()
        {
            var app          = Apps.Get("iosTestApp");
            var capabilities =
                Caps.GetIosCaps(app);

            IOSDriver <AppiumWebElement> driver = null;

            try
            {
                driver = new IOSDriver <AppiumWebElement>(capabilities, Env.InitTimeoutSec);
                driver.CloseApp();
            }
            finally
            {
                driver?.Quit();
            }
        }
Beispiel #30
0
        public void CloseWindowSingleInstanceApplication()
        {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();

            appCapabilities.SetCapability("app", CommonTestSettings.AlarmClockAppId);
            IOSDriver <IOSElement> singleWindowSession = new IOSDriver <IOSElement>(new Uri(CommonTestSettings.WindowsApplicationDriverUrl), appCapabilities);

            Assert.IsNotNull(singleWindowSession);
            Assert.IsNotNull(singleWindowSession.SessionId);

            // Close the application window without deleting the session
            singleWindowSession.Close();
            Assert.IsNotNull(singleWindowSession);
            Assert.IsNotNull(singleWindowSession.SessionId);

            // Delete the session
            singleWindowSession.Quit();
        }