Пример #1
0
        public void TestCorrectEmailWrongPass()
        {
            emailInput.SendKeys("*****@*****.**");
            passInput.SendKeys("1234");
            signButton.Click();
            var state = driver.GetAppState("com.example.myapplication");

            Assert.IsTrue(state == AppState.RunningInForeground);
        }
Пример #2
0
        public void TestSearchOuchMvpProfile()
        {
            //定義相容性
            DesiredCapabilities desiredCapabilities = new DesiredCapabilities();

            //指定平台為安卓
            desiredCapabilities.SetCapability(MobileCapabilityType.PlatformName, MobilePlatform.Android);

            //指定使用的平台版本為 4.4.2
            desiredCapabilities.SetCapability(MobileCapabilityType.PlatformVersion, "4.4.2");

            //指定裝置名稱,裝置名稱可以透過在 Tools -> Android Adb Command Prompt... 中輸入 adb devices -l 取得
            desiredCapabilities.SetCapability(MobileCapabilityType.DeviceName, "generic_x86");

            //指定瀏覽器名稱為 Browser(也可以使用 Chrome,指定為 Browser 則會使用預設的瀏覽器)
            desiredCapabilities.SetCapability(MobileCapabilityType.BrowserName, "Browser");

            //指定不開啟任何 App(有的範例並沒有這行,但是我如果把這行拿掉的話會出錯)
            desiredCapabilities.SetCapability(MobileCapabilityType.App, null);

            //建立 AppiumDriver 的 Instance ,並指定 Appium Server 的路徑
            _driver = new AndroidDriver <AndroidElement>(new Uri("http://127.0.0.1:4723/wd/hub"), desiredCapabilities);

            //指定瀏覽器開啟網址
            _driver.Navigate().GoToUrl("https://mvp.microsoft.com/zh-tw/");

            //找出關鍵字搜尋框
            AndroidElement searchBox = _driver.FindElementByName("kw");

            //在搜尋框中輸入文字
            searchBox.SendKeys("Ouch Liu");

            //按下 Enter
            searchBox.SendKeys(Keys.Enter);

            //找出內文為指定文字的超連結
            AndroidElement profileLink = _driver.FindElementByLinkText("Ouch Liu");

            //按下超連結
            profileLink.Click();

            //取出 class 為 title 物件中的文字
            string titleText = _driver.FindElementByClassName("title").Text;

            //定義預期值
            string expectedTitle = "Ouch Liu (劉耀群)";

            //比對實際值與預期值是否相同
            Assert.AreEqual(expectedTitle, titleText);
        }
Пример #3
0
        /// <summary>
        /// This method will select "Great Western Pilsner" from the beverage select,
        /// and send you to the status screen.
        /// </summary>
        private void SelectBeverage()
        {
            TouchAction touchAction = new TouchAction(driver);

            Thread.Sleep(500);

            //AndroidElement element = driver.FindElementByAndroidUIAutomator("new UiSelector().textContains(\"Please enter a beverage, type or brand!!\");");
            AndroidElement element = driver.FindElementByClassName("android.widget.EditText");

            element.SendKeys("Great");

            Thread.Sleep(500);

            //element = driver.FindElementByAndroidUIAutomator("new UiSelector().textContains(\"Great Western Pilsner\");");
            element = driver.FindElementByXPath("//android.widget.TextView[@text='Great Western Pilsner']");

            Thread.Sleep(500);

            var action = touchAction.Tap(element);

            action.Perform();
            action.Cancel();

            Thread.Sleep(500);
        }
Пример #4
0
        public void LogarEmailInvalido(TimeSpan period, int tryCount = 2)
        {
            AndroidElement botao_entrar = _driver.FindElementById(botaoEntrar);

            botao_entrar.Click();

            AndroidElement botao_entrar_email = _driver.FindElementByXPath(botaoEntrarEmail);

            botao_entrar_email.Click();

            AndroidElement campo_email = _driver.FindElementById(campoInserirEmail);

            campo_email.Click(); campo_email.SendKeys("*****@*****.**");

            AndroidElement campo_senha       = _driver.FindElementById(campoInserirSenha);
            var            exibe_campo_senha = campo_senha.Displayed;

            if (exibe_campo_senha)
            {
                campo_senha.Click(); campo_senha.SendKeys("123456");
            }

            AndroidElement botao_login_entrar = _driver.FindElementById(botaoLoginEntrar);

            botao_login_entrar.Click();

            Assert.IsTrue(botao_login_entrar.Displayed);
        }
Пример #5
0
        /// <summary>
        /// 执行登录
        /// </summary>
        /// <param name="appAccess"></param>
        private void DoLogin(AndroidAppAccess appAccess, string loginName, string loginPassword)
        {
            AndroidElement toLoginButton = appAccess.GetElementByClassNameAndText("android.widget.Button", new string[] { "登录" }, true, true);

            toLoginButton.Click();
            appAccess.GetElementByClassNameAndText("android.widget.Button", new string[] { "忘记密码?" }, true, true);

            AndroidElement loginNameLayoutElement = appAccess.GetElementByClassNameAndText("android.widget.LinearLayout", new string[] { "邮箱或电话" }, true, true);
            AndroidElement loginNameElement       = appAccess.GetElementByClassNameAndIndex(loginNameLayoutElement, "android.widget.EditText", 0, true);

            loginNameElement.Click();
            loginNameElement.Clear();
            loginNameElement.SendKeys(loginName);

            AndroidElement loginPasswordLayoutElement = appAccess.GetElementByClassNameAndText("android.widget.LinearLayout", new string[] { "密码" }, true, true);
            AndroidElement loginPasswordElement       = appAccess.GetElementByClassNameAndIndex(loginPasswordLayoutElement, "android.widget.EditText", 0, true);

            loginPasswordElement.Click();
            loginPasswordElement.Clear();
            loginPasswordElement.SendKeys(loginPassword);

            AndroidElement loginButton = appAccess.GetElementByClassNameAndText("android.widget.Button", new string[] { "登录" }, true, true);

            loginButton.Click();

            //判断是否登录成功
            this.GetNavElement(appAccess, true);
        }
Пример #6
0
        public void c_logUserIn()
        {
            AndroidElement usernameTxtBox = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.widget.EditText[1]");

            usernameTxtBox.Clear();
            usernameTxtBox.SendKeys(MOODLE_USERNAME);

            AndroidElement passwordTxtBox = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[2]/android.widget.EditText[1]");

            passwordTxtBox.SendKeys(MOODLE_PASSWORD);

            AndroidElement loginBtn = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[3]/android.widget.Button[1]");

            loginBtn.Click();

            //AndroidElement sideMenuToggleBtn = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.widget.Button[1]");
            //sideMenuToggleBtn.Click();

            AndroidElement searchBtn = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[2]/android.view.View[1]");

            searchBtn.Click();

            AndroidElement searchTxtBox = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.widget.EditText[1]");

            searchTxtBox.SendKeys(SEARCH_TEXT);

            StringAssert.Contains(searchTxtBox.Text, SEARCH_TEXT);
            wait(1000);
        }
Пример #7
0
        public static void Main(string[] args)
        {
            DesiredCapabilities caps = new DesiredCapabilities();

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

            caps.SetCapability("realMobile", true);
            caps.SetCapability("device", "Google Pixel");
            caps.SetCapability("app", "bs://<hashed app-id>");

            AndroidDriver <AndroidElement> driver = new AndroidDriver <AndroidElement>(new Uri("http://hub.browserstack.com/wd/hub"), caps);
            AndroidElement searchElement          = (AndroidElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(
                ExpectedConditions.ElementToBeClickable(MobileBy.AccessibilityId("Search Wikipedia"))
                );

            searchElement.Click();
            AndroidElement insertTextElement = (AndroidElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(
                ExpectedConditions.ElementToBeClickable(MobileBy.Id("org.wikipedia.alpha:id/search_src_text"))
                );

            insertTextElement.SendKeys("BrowserStack");
            System.Threading.Thread.Sleep(5000);
            driver.Quit();
        }
Пример #8
0
        public void Authorization_NegativeTest()
        {
            string login            = "******";
            string password         = "******";
            string errorMessageText = "";

            wait.Until(ExpectedConditions.ElementExists(By.Id("com.alibaba.aliexpresshd:id/et_email")));
            AndroidElement emailField = driver.FindElementById("com.alibaba.aliexpresshd:id/et_email");

            emailField.SendKeys(login);

            AndroidElement passwordField = driver.FindElementById("com.alibaba.aliexpresshd:id/et_password");

            passwordField.SendKeys(password);

            AndroidElement loginButton = driver.FindElementById("com.alibaba.aliexpresshd:id/tv_signin_btn_label");

            loginButton.Click();

            try
            {
                AndroidElement errorMessage = driver.FindElementById("com.alibaba.aliexpresshd:id/textinput_error");
                errorMessageText = errorMessage.Text;
            }
            catch (Exception)
            {
                throw new Exception("Элемент с сообщением об ошибке не представлен на странице");
            }

            Assert.IsTrue(errorMessageText == "???", "Текст сообщения об ошибке - '" + errorMessageText + "' отличается от ожидаемого" +
                          "???");
        }
Пример #9
0
        public static void Main(string[] args)
        {
            AppiumOptions caps = new AppiumOptions();

            caps.AddAdditionalCapability("browserstack.user", userName);
            caps.AddAdditionalCapability("browserstack.key", accessKey);
            caps.AddAdditionalCapability("device", "Samsung Galaxy S10e");
            caps.AddAdditionalCapability("os_version", "9.0");
            caps.AddAdditionalCapability("project", "My First Project");
            caps.AddAdditionalCapability("build", "My First Build");
            caps.AddAdditionalCapability("name", "Bstack-[C#] Sample Test");
            caps.AddAdditionalCapability("app", "bs://ae2ce961fcec8d8c04b9d84b93848b100eab5b41");

            AndroidDriver <AndroidElement> driver = new AndroidDriver <AndroidElement>(new Uri("http://hub-cloud.browserstack.com/wd/hub"), caps);
            AndroidElement searchElement          = (AndroidElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(
                ExpectedConditions.ElementToBeClickable(MobileBy.Id("com.getzuper.debug:id/input_email"))
                );

            searchElement.Click();

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

            AndroidElement confirmButton = (AndroidElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(
                ExpectedConditions.ElementToBeClickable(MobileBy.Id("com.getzuper.debug:id/bt_confirm")));

            confirmButton.Click();
            System.Threading.Thread.Sleep(30);

            driver.Quit();
        }
Пример #10
0
        public static void Main(string[] args)
        {
            AppiumOptions caps = new AppiumOptions();

            caps.AddAdditionalCapability("key", System.Environment.GetEnvironmentVariable(MainClass.key));
            caps.AddAdditionalCapability("secret", System.Environment.GetEnvironmentVariable(MainClass.secret));
            caps.AddAdditionalCapability("deviceName", "Galaxy S9");
            caps.AddAdditionalCapability("version", "9.0");
            caps.AddAdditionalCapability("app", System.Environment.GetEnvironmentVariable("TB_APP_ID"));

            var            driver = new AndroidDriver <AndroidElement>(new Uri("https://hub.testingbot.com/wd/hub"), caps, TimeSpan.FromSeconds(120));
            AndroidElement inputA = (AndroidElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(
                SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(MobileBy.AccessibilityId("inputA"))
                );

            inputA.SendKeys("10");
            AndroidElement inputB = (AndroidElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(
                SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(MobileBy.AccessibilityId("inputB"))
                );

            inputB.SendKeys("5");
            System.Threading.Thread.Sleep(2000);

            driver.Quit();
        }
Пример #11
0
        private void GotoShopSkuPage(AndroidAppAccess appAccess, string shopWebPageUrl, string shopName)
        {
            //点击后进入查询页面
            AndroidElement gotoInputElement = appAccess.GetElementById("com.taobao.taobao:id/home_searchedit", true);

            gotoInputElement.Click();

            //选择店铺选项卡
            AndroidElement shopTabElement = appAccess.GetElementById("com.taobao.taobao:id/search_tab_layout", true);

            shopTabElement.FindElementsByClassName("android.support.v7.app.ActionBar$Tab")[2].Click();

            //录入店铺名称
            AndroidElement inputShopUrlElement = appAccess.GetElementById("com.taobao.taobao:id/searchEdit", true);

            inputShopUrlElement.SendKeys(shopName);

            //查询按钮,点击后应该进入店铺页面
            AndroidElement searchShopBtnElement = appAccess.GetElementById("com.taobao.taobao:id/searchbtn", true);

            searchShopBtnElement.Click();

            try
            {
                ReadOnlyCollection <AndroidElement> shopListViewElements = appAccess.GetElementsById("com.taobao.taobao:id/shopTitle", true);

                if (shopListViewElements.Count > 0)
                {
                    AndroidElement shopElement = shopListViewElements[0];
                    if (shopElement.Text.Trim() == shopName)
                    {
                        shopElement.Click();

                        try
                        {
                            AndroidElement mainMenuTabContainerElement = appAccess.GetElementById("com.taobao.taobao:id/tl_tabs", true);
                            mainMenuTabContainerElement.FindElementsByClassName("android.support.v7.app.ActionBar$Tab")[1].Click();
                        }
                        catch (Exception ex)
                        {
                            throw new Exception("未成功获取'全部宝贝'按钮, shopName = " + shopName + ", shopUrl = " + shopWebPageUrl);
                        }
                    }
                    else
                    {
                        throw new Exception("没有搜索到此店铺,第一个匹配项不是此店铺. shopName = " + shopName);
                    }
                }
                else
                {
                    throw new Exception("没有搜索到此店铺,关键字匹配0个店铺. shopName = " + shopName);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("没有搜索到此店铺. shopName = " + shopName, ex);
            }
        }
Пример #12
0
        public ExecutionResult Execute(AndroidAddonHelper helper, AndroidElement element)
        {
            var  randomer = new Random();
            long number   = randomer.Next(1, (int)Math.Pow(10, maxDigits));

            phone = $"+{countryCode}{number}";
            element.SendKeys(phone);
            return(ExecutionResult.Passed);
        }
Пример #13
0
        private void GotoShopListPage(AndroidAppAccess appAccess, string shopName)
        {
            AndroidElement unknownElement = appAccess.GetElementByIds(new string[] { "com.jingdong.app.mall:id/aqz", "com.jingdong.app.mall:id/a10" }, true);

            if (unknownElement.TagName == "android.widget.EditText")
            {
                unknownElement.Click();
            }
            else
            {
                //如果获取到的是是关闭广告按钮
                unknownElement.Click();

                //点击输入框
                AndroidElement gotoInputElement = appAccess.GetElementById("com.jingdong.app.mall:id/a10", true);
                gotoInputElement.Click();
            }

            /*
             * //点击后进入查询页面
             * AndroidElement gotoInputElement = null;
             *
             * try
             * {
             *  gotoInputElement = appAccess.GetElementById("com.jingdong.app.mall:id/a10", true);
             * }
             * catch (Exception ex)
             * {
             *  AndroidElement adElement = appAccess.GetElementById("com.jingdong.app.mall:id/aqz", true);
             *  adElement.Click();
             *  gotoInputElement = appAccess.GetElementById("com.jingdong.app.mall:id/a10", true);
             * }
             *
             * gotoInputElement.Click();
             */

            //录入店铺keyword
            AndroidElement inputKeywordElement = appAccess.GetElementById("com.jd.lib.search:id/search_text", true);

            inputKeywordElement.SendKeys(shopName);

            //查询按钮
            AndroidElement searchBtnElement = appAccess.GetElementById("com.jd.lib.search:id/search_btn", true);

            searchBtnElement.Click();

            AndroidElement shopLinkElement = appAccess.GetElementByIds(new string[] { "com.jd.lib.search:id/search_recommend_shop_info", "com.jd.lib.search:id/product_list_shop_first_line", "com.jd.lib.search:id/jshop_list_item_name" }, true);

            shopLinkElement.Click();

            AndroidElement allProductLinkElement = appAccess.GetElementByClassNameAndText("android.widget.TextView", new string[] { "全部商品" }, false, true);

            allProductLinkElement.Click();

            AndroidElement productListElement = appAccess.GetElementById("com.jd.lib.jshop:id/product_list", true);
        }
        static void Main(string[] args)
        {
            AppiumOptions caps = new AppiumOptions();

            // Set your BrowserStack access credentials
            caps.AddAdditionalCapability("browserstack.user", "YOUR_USERNAME");
            caps.AddAdditionalCapability("browserstack.key", "YOUR_ACCESS_KEY");

            // Set URL of the application under test
            caps.AddAdditionalCapability("app", "bs://<app-id>");

            // Specify device and os_version
            caps.AddAdditionalCapability("device", "Google Pixel 3");
            caps.AddAdditionalCapability("os_version", "9.0");

            // Specify the platform name
            caps.PlatformName = "Android";

            // Set other BrowserStack capabilities
            caps.AddAdditionalCapability("project", "First CSharp project");
            caps.AddAdditionalCapability("build", "CSharp Android");
            caps.AddAdditionalCapability("name", "first_test");


            // Initialize the remote Webdriver using BrowserStack remote URL
            // and desired capabilities defined above
            AndroidDriver <AndroidElement> driver = new AndroidDriver <AndroidElement>(
                new Uri("http://hub-cloud.browserstack.com/wd/hub"), caps);

            // Test case for the BrowserStack sample Android app.
            // If you have uploaded your app, update the test case here.
            AndroidElement searchElement = (AndroidElement) new WebDriverWait(
                driver, TimeSpan.FromSeconds(30)).Until(
                SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(
                    MobileBy.AccessibilityId("Search Wikipedia"))
                );

            searchElement.Click();
            AndroidElement insertTextElement = (AndroidElement) new WebDriverWait(
                driver, TimeSpan.FromSeconds(30)).Until(
                SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(
                    MobileBy.Id("org.wikipedia.alpha:id/search_src_text"))
                );

            insertTextElement.SendKeys("BrowserStack");
            System.Threading.Thread.Sleep(5000);

            IReadOnlyList <AndroidElement> allTextViewElements =
                driver.FindElementsByClassName("android.widget.TextView");

            Console.WriteLine(allTextViewElements.Count > 0);

            // Invoke driver.quit() after the test is done to indicate that the test is completed.
            driver.Quit();
        }
Пример #15
0
        public void d_searchCourse()
        {
            AndroidElement searchTxtBox = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.widget.EditText[1]");

            searchTxtBox.Clear();
            wait(500);
            searchTxtBox.SendKeys(SEARCH_TEXT);

            AndroidElement searchBtn = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.widget.Button[1]\n");

            searchBtn.Click();
        }
Пример #16
0
        // For Range Slider with count and option for Left and Right arrow Key
        public void RangeSlider(string range_slider_loc, string locator_type, int new_limit)
        {
            AndroidElement seekBar = null;

            if (locator_type == "id")
            {
                seekBar = (AndroidElement)waitDriver.Until(ExpectedConditions.ElementIsVisible(By.Id(range_slider_loc)));
            }
            else if (locator_type == "xpath")
            {
                seekBar = (AndroidElement)waitDriver.Until(ExpectedConditions.ElementIsVisible(By.XPath(range_slider_loc)));
            }
            seekBar.SendKeys((new_limit - 1).ToString() + ".0");
        }
        public void TestShouldSendKetsToSearchBoxThenCheckTheValue()
        {
            AndroidElement searchBoxElement = driver.FindElementById("txt_query_prefill");

            searchBoxElement.SendKeys("Hello World!");

            AndroidElement onSearchRequestButton = driver.FindElementById("btn_start_search");

            onSearchRequestButton.Click();

            AndroidElement seachText = driver.FindElementById("android:id/search_src_text");

            Assert.AreEqual("Hello World!", seachText.Text);
        }
Пример #18
0
        public void searchWikipedia()
        {
            AndroidElement searchElement = (AndroidElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementToBeClickable(MobileBy.AccessibilityId("Search Wikipedia")));

            searchElement.Click();
            AndroidElement insertTextElement = (AndroidElement) new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementToBeClickable(By.Id("org.wikipedia.alpha:id/search_src_text")));

            insertTextElement.SendKeys("BrowserStack");
            Thread.Sleep(5000);

            ReadOnlyCollection <AndroidElement> allProductsName = driver.FindElements(By.ClassName("android.widget.TextView"));

            Assert.True(allProductsName.Count > 0);
        }
Пример #19
0
        private void ToSelectLocationPage(string locationName)
        {
            try
            {
                AndroidElement locationInputElement = AppAccess.GetElementByClassNameAndText("android.widget.EditText", new string[] { "写字楼、小区、学校" }, true, true, true);
                locationInputElement.Click();
                locationInputElement.SendKeys(locationName);

                AndroidElement locationOptionElement = AppAccess.GetElementByClassNameAndText("android.widget.TextView", new string[] { locationName }, true, true, true);
                locationOptionElement.Click();
            }
            catch (Exception ex)
            {
                throw new Exception("打开选择location页面, locatoinName = " + locationName, ex);
            }
        }
        public void ReplaceValueTest()
        {
            string originalValue = "original value";
            string replacedValue = "replaced value";

            driver.StartActivity("io.appium.android.apis", ".view.Controls1");

            AndroidElement editElement = driver.FindElementByAndroidUIAutomator("resourceId(\"io.appium.android.apis:id/edit\")");

            editElement.SendKeys(originalValue);

            Assert.AreEqual(originalValue, editElement.Text);

            editElement.ReplaceValue(replacedValue);

            Assert.AreEqual(replacedValue, editElement.Text);
        }
 public void Input(string id, string value, params string[] arguments)
 {
     try
     {
         AndroidElement element = (AndroidElement)GetElement(id);
         element.Click();
         element.Clear();
         element.SendKeys(value);
     }
     catch
     {
         if (arguments.Contains("-i"))
         {
             return;
         }
         throw;
     }
 }
Пример #22
0
        public void SearchTest()
        {
            int    duration       = 1000;
            string text_to_search = "RDA";

            Thread.Sleep(duration);

            AndroidElement searchMenuButton = driver.FindElementById("com.alibaba.aliexpresshd:id/search_hint");

            searchMenuButton.Click();

            AndroidElement searchField = driver.FindElementByAccessibilityId("Поисковый запрос");

            searchField.SendKeys(text_to_search);
            searchField.Click();
            driver.PressKeyCode(AndroidKeyCode.Enter);
            wait.Until(ExpectedConditions.ElementExists(By.Id("com.alibaba.aliexpresshd:id/search_result_list")));
        }
        static void Main()
        {
            AndroidDriver <AndroidElement> driver;
            DesiredCapabilities            capability = DesiredCapabilities.Android();

            capability.SetCapability("browserstack.user", Environment.GetEnvironmentVariable("BROWSERSTACK_USERNAME"));
            capability.SetCapability("browserstack.key", Environment.GetEnvironmentVariable("BROWSERSTACK_ACCESS_KEY"));
            capability.SetCapability("build", "App Testing Android");
            capability.SetCapability("name", "sample csharp");
            capability.SetCapability("browserstack.debug", true);
            capability.SetCapability("platform", "android");
            capability.SetCapability("device", "Google Nexus 6");
            capability.SetCapability("realMobile", true);
            capability.SetCapability("app", Environment.GetEnvironmentVariable("ANDROID_APP_URL"));

            driver = new AndroidDriver <AndroidElement>(
                new Uri("http://hub-cloud.browserstack.com/wd/hub/"), capability
                );

            ((ITakesScreenshot)driver).GetScreenshot();

            AndroidElement samplelabel = driver.FindElementById("sampleLabel");

            Console.WriteLine(samplelabel.Text);

            var contexts = driver.Contexts;

            AndroidElement num1 = driver.FindElementById("num1");
            AndroidElement num2 = driver.FindElementById("num2");

            num1.SendKeys("12");
            num2.SendKeys("32");

            AndroidElement add_btn = driver.FindElementById("addBtn");

            add_btn.Tap(1, 1000);

            ((ITakesScreenshot)driver).GetScreenshot();
            Console.WriteLine(samplelabel.Text);

            driver.Quit();
        }
        public void EnterAs(string name)
        {
            if (name != null)
            {
                AndroidElement nameTextbox = driver.FindElementById(NameEdittextId);
                nameTextbox.SendKeys(name);
            }
            else
            {
                name = "Guest";
            }

            AndroidElement nextScreenButton = driver.FindElementByClassName(NextScreenButtonClass);

            nextScreenButton.Click();

            AndroidElement welcomeTextview = driver.FindElementById(WelcomeTextviewId);

            Assert.That(welcomeTextview.Text, Is.EqualTo("Welcome " + name), "Incorrect welcome text");
        }
Пример #25
0
        public void connectSite()
        {
            AndroidElement siteTxtBox = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.widget.EditText[1]");

            siteTxtBox.Clear();
            siteTxtBox.SendKeys(MOODLE_SITE);

            AndroidElement connectBtn = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[2]/android.widget.Button[1]");

            connectBtn.Click();
            wait(100);

            AndroidElement usernameTxtBox = find("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[3]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.widget.EditText[1]");

            usernameTxtBox.SendKeys(MOODLE_USERNAME);

            StringAssert.Contains(usernameTxtBox.Text, MOODLE_USERNAME);

            wait(1000);
        }
Пример #26
0
        public void TestNotesApp()
        {
            DesiredCapabilities cap = new DesiredCapabilities();

            cap.SetCapability("platformName", "Android");
            cap.SetCapability("deviceName", "pixel2");
            cap.SetCapability("platformVersion", "8.1");
            cap.SetCapability("noReset", "True");
            cap.SetCapability("adbExecTimeout", "1000000");
            cap.SetCapability("app", "C:/Users/symayers/source/repos/Notes/Notes/Notes.Android/bin/Debug/com.companyname.Notes.apk");
            driver = new AndroidDriver <AndroidElement>(new Uri("http://127.0.0.1:4723/wd/hub"), cap);
            AndroidElement editElement = driver.FindElementByClassName("android.widget.EditText");

            editElement.SendKeys("New Notes");
            AndroidElement saveElement = driver.FindElementByXPath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[3]/android.view.ViewGroup[1]/android.widget.Button");

            saveElement.Click();
            AndroidElement deleteElement = driver.FindElementByXPath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[3]/android.view.ViewGroup[2]/android.widget.Button");

            deleteElement.Click();
            driver.Quit();
        }
Пример #27
0
        public void EscolherCinemaComSucesso()
        {
            AndroidElement menu_cinemas = _driver.FindElementById(menuCinemas);

            menu_cinemas.Click();

            AndroidElement skip_pular = _driver.FindElementById(skip);

            skip_pular.Click();

            AndroidElement icone_search        = _driver.FindElementById(iconeSearch);
            bool           assert_icone_search = icone_search.Displayed;

            icone_search.Click();

            AndroidElement barra_pesquisa = _driver.FindElementById(barraPesquisaCidadeCinema);

            barra_pesquisa.Click(); barra_pesquisa.SendKeys(cinemaSalvador);

            AndroidElement resultado_pesquisa = _driver.FindElementById(resultadoPesquisa);

            resultado_pesquisa.Click();
        }
Пример #28
0
        public static void LogarComEmail(TimeSpan period, int tryCount = 2)
        {
            if (tryCount <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(tryCount));
            }

            while (true)
            {
                try
                {
                    AndroidElement campo_email = _driver.FindElementById(campoInserirEmail);
                    campo_email.Click(); campo_email.SendKeys("*****@*****.**");

                    AndroidElement campo_senha       = _driver.FindElementById(campoInserirSenha);
                    var            exibe_campo_senha = campo_senha.Displayed;

                    if (exibe_campo_senha)
                    {
                        campo_senha.Click(); campo_senha.SendKeys("123456");
                    }

                    AndroidElement botao_login_entrar = _driver.FindElementById(botaoLoginEntrar);
                    botao_login_entrar.Click();

                    break;
                }
                catch
                {
                    if (--tryCount == 0)
                    {
                        throw;
                    }
                    Common.WaitAndRetry(period);
                }
            }
        }
Пример #29
0
        private bool GotoKeywordShopListPage(AndroidAppAccess appAccess, string keyword)
        {
            //点击后进入查询页面
            AndroidElement gotoInputElement = null;

            try
            {
                gotoInputElement = appAccess.GetElementById("com.jingdong.app.mall:id/a10", true);
            }
            catch (Exception ex)
            {
                AndroidElement adElement = appAccess.GetElementById("com.jingdong.app.mall:id/aqz", true);
                adElement.Click();
                gotoInputElement = appAccess.GetElementById("com.jingdong.app.mall:id/a10", true);
            }

            gotoInputElement.Click();

            //录入店铺keyword
            AndroidElement inputKeywordElement = appAccess.GetElementById("com.jd.lib.search:id/search_text", true);

            inputKeywordElement.SendKeys(keyword);

            //店铺查询按钮,点击后应该进入店铺列表页面
            AndroidElement searchShopBtnElement = appAccess.GetElementById("com.jd.lib.search:id/home_auto_complete_item_container", true);

            searchShopBtnElement.Click();

            AndroidElement shopListContainerElement = appAccess.GetElementByIdNoWaiting("com.jingdong.app.mall:id/b6b", false);
            int            noAlertTime = 0;

            while (shopListContainerElement == null)
            {
                AndroidElement reSearchShopBtnElement = appAccess.GetElementById("com.jingdong.app.mall:id/ad0", true);
                reSearchShopBtnElement.Click();
                Thread.Sleep(3000);
                noAlertTime++;
                shopListContainerElement = appAccess.GetElementByIdNoWaiting("com.jingdong.app.mall:id/b6b", false);
                if (noAlertTime > 3)
                {
                    break;
                }
            }

            if (shopListContainerElement == null)
            {
                AndroidElement noShopAlertElement = appAccess.GetElementByIdNoWaiting("com.jingdong.app.mall:id/b4x", false);
                if (noShopAlertElement != null)
                {
                    return(false);
                }
                else
                {
                    throw new Exception("无法获取到店铺列表, keyword = " + keyword);
                }
            }
            else
            {
                return(true);
            }
        }
Пример #30
0
        public void WhenIAddB(string amount)
        {
            AndroidElement inputB = _driver.FindElementById("inputB");

            inputB.SendKeys(amount);
        }