Пример #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
        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);
        }
Пример #3
0
        public void Test1()
        {
            AndroidElement registerButton = _driver.FindElementById("home_onboarding_email_register_button");

            registerButton.Click();
            Assert.Pass();
        }
Пример #4
0
        public static void PressButton(AppiumDriver <AndroidElement> driver, int number)
        {
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(3);
            AndroidElement Button = driver.FindElementByXPath($"//*[contains(@class,'Button') and contains(@text,'{number}')]");

            Button.Click();
        }
Пример #5
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);
        }
Пример #6
0
        public void BeforeAll()
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();

            capabilities.SetCapability(MobileCapabilityType.BrowserName, "");
            capabilities.SetCapability(MobileCapabilityType.PlatformName, App.AndroidDeviceName());
            capabilities.SetCapability(MobileCapabilityType.PlatformVersion, App.AndroidPlatformVersion());
            capabilities.SetCapability(MobileCapabilityType.AutomationName, "UIAutomator2");
            capabilities.SetCapability(MobileCapabilityType.DeviceName, "Nokia");
            capabilities.SetCapability(MobileCapabilityType.App, App.AndroidApp());

            driver = new AndroidDriver <AndroidElement>(Env.ServerUri(), capabilities, Env.INIT_TIMEOUT_SEC);
            driver.Manage().Timeouts().ImplicitWait = Env.IMPLICIT_TIMEOUT_SEC;
            wait = new WebDriverWait(driver, Env.IMPLICIT_TIMEOUT_SEC);

            AndroidElement menuButton = driver.FindElementById("com.alibaba.aliexpresshd:id/left_action");

            menuButton.Click();

            AndroidElement authorizationMenuButton = driver.FindElementById("com.alibaba.aliexpresshd:id/chosen_account_content_view");

            authorizationMenuButton.Click();

            AndroidElement loginMenuButton = driver.FindElementById("com.alibaba.aliexpresshd:id/btn_sign_in");

            loginMenuButton.Click();

            AndroidElement list   = driver.FindElementById("android:id/autofill_dataset_list");
            TouchAction    action = new TouchAction(driver);

            action.Press(300, 100).Release().Perform();
        }
Пример #7
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();
        }
Пример #8
0
        public static void FindAndClickOnElement(AppiumDriver <AndroidElement> driver, string locator)
        {
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(2);
            int  pressX = driver.Manage().Window.Size.Width / 3;
            int  pressy = driver.Manage().Window.Size.Height / 2;
            int  movex  = pressX - driver.Manage().Window.Size.Width / 4;
            int  movey  = pressX - driver.Manage().Window.Size.Width / 4;
            int  i      = 0;
            bool isPresent;

            do
            {
                isPresent = driver.FindElementsByXPath($"//*[contains(@text,'{locator}')]").Count > 0;
                if (isPresent)
                {
                    AndroidElement element = driver.FindElementByXPath($"//*[contains(@text,'{locator}')]");
                    element.Click();
                    break;
                }
                else
                {
                    TouchAction touchAction = new TouchAction(driver);
                    try
                    {
                        touchAction.LongPress(pressX, pressy).MoveTo(movex, movey).Release().Perform();
                    }

                    catch (WebDriverException wd) { Console.WriteLine(wd); }
                }
                i++;
            } while (i <= 4);
        }
Пример #9
0
        public void registration(String name, String lastName, String e_mail, String password)
        {
            nameField = driver.FindElementByXPath("//*[@text = 'Nombre']");
            nameField.Click();
            nameField.SendKeys(name);

            lastNameField = driver.FindElementByXPath("//*[@text = 'Apellido']");
            lastNameField.Click();
            lastNameField.SendKeys(lastName);

            e_mailField = driver.FindElementByXPath("//*[@text = 'E-mail']");
            e_mailField.Click();
            noneAbove = driver.FindElementByXPath("//*[@text = 'NONE OF THE ABOVE']");
            noneAbove.Click();
            e_mailField.SendKeys(e_mail);
            driver.HideKeyboard();

            passwordField = driver.FindElementByXPath("//*[@text = 'Clave']");
            passwordField.Click();
            passwordField.SendKeys(password);
            driver.HideKeyboard();

            continueButton = driver.FindElementByXPath("//*[@text = 'Continuar']");
            continueButton.Click();
        }
Пример #10
0
        private string GetPersonLinkedinUrlFromPersonPage(AndroidAppAccess appAccess, AndroidElement personListElement, string keyWords)
        {
            string url         = null;
            string elementText = this.GetListPersonElementText(appAccess, personListElement);

            string personUrlName     = keyWords + "_" + elementText;
            string personUrlFilePath = this.RunPage.GetFilePath(personUrlName, this.RunPage.GetDetailSourceFileDir());

            if (File.Exists(personUrlFilePath))
            {
                url = FileHelper.GetTextFromFile(personUrlFilePath);
                return(url == null || url.Length == 0 ? null : url);
            }
            else
            {
                personListElement.Click();
                try
                {
                    url = this.GetPersonLinkedinUrlFromElement(appAccess, 0);
                }
                catch (Exception ex)
                {
                    this.RunPage.InvokeAppendLogText("从APP个人页面里获取个人页面Url失败. " + ex.Message, LogLevelType.Error, true);
                }
                appAccess.ClickBackButton();
                FileHelper.SaveTextToFile(url, personUrlFilePath);
                return(url);
            }
        }
Пример #11
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);
        }
Пример #12
0
        public void validaTelaSessoes()
        {
            TimeSpan timeout_limit = TimeSpan.FromSeconds(3);
            int      retryCount    = 2;

            if (retryCount <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(retryCount));
            }

            Cinemas cinemas = new Cinemas();

            cinemas.EscolherCinemaComSucesso();
            Cinemas.iconeMenuCinemas


            while (true)
            {
                try
                {
                    AndroidElement menu_filmes = _driver.FindElementByAccessibilityId("Filmes");
                    menu_filmes.Click();
                    break;
                }
                catch (StaleElementReferenceException)
                {
                    if (--retryCount == 0)
                    {
                        throw;
                    }
                    Common.WaitAndRetry(timeout_limit);
                }
            }
        }
Пример #13
0
        public void Test1()
        {
            var xp2 = "//*[@text='Log in']";
            var xp  = "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[3]/android.widget.TextView";
            //AndroidElement confirmAndContinue = _driver.FindElementByXPath("//*[@resource-id='com.example.android.apis:id/button']");
            AndroidElement button = _driver.FindElementByXPath(xp);

            button.Click();
            AndroidElement button2 = _driver.FindElementByXPath(xp2);

            button2.Click();
            AndroidElement el3 = _driver.FindElementByAccessibilityId("Yes");

            el3.Click();
            AndroidElement el4 = _driver.FindElementByXPath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[1]/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup[1]/android.view.ViewGroup/android.view.ViewGroup[2]/android.widget.ImageView");

            el4.Click();


            var            journey = "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[3]/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[16]/android.view.ViewGroup[2]/android.widget.TextView";
            AndroidElement el5     = _driver.FindElementByXPath(journey);

            el5.Click();
            System.Threading.Thread.Sleep(20000);
            Assert.Pass();
        }
Пример #14
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 + "' отличается от ожидаемого" +
                          "???");
        }
Пример #15
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();
        }
Пример #16
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);
        }
Пример #17
0
        /// <summary>
        /// App submit operation.
        /// </summary>
        public void Submit()
        {
            AndroidElement submitButon = this.driverHelper.Driver.FindElement(Constants.SubmitButtonId);

            Validate(submitButon, Constants.SubmitButtonId);
            submitButon.Click();
        }
Пример #18
0
        private List <AppiumWebElement> GetCategoryElement(string name)
        {
            AndroidElement categoryMainPageElement = AppAccess.GetElementByClassNameAndText("android.widget.TextView", new string[] { "首页" }, true, true, true);

            categoryMainPageElement.Click();

            AndroidElement categoryMenuElement = AppAccess.GetElementByClassNameAndText("android.widget.TextView", new string[] { "生鲜分类" }, true, true, true);

            categoryMenuElement.Click();

            AndroidElement listElement = AppAccess.GetElementByXPath("//android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout", false);
            //ReadOnlyCollection<AndroidElement> allC3Elements = AppAccess.GetElementsByXPath("//android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ListView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.GridView/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView", false);
            ReadOnlyCollection <AppiumWebElement> allC3Elements = listElement.FindElementsByClassName("android.widget.TextView");
            List <AppiumWebElement> foundElements = new List <AppiumWebElement>();

            for (int i = 0; i < allC3Elements.Count; i++)
            {
                AppiumWebElement element = allC3Elements[i];
                if (element.Text == name)
                {
                    foundElements.Add(element);

                    /*
                     * if (i + 3 >= allC3Elements.Count)
                     * {
                     *  return GetCategoryElementAfterFound(name);
                     * }
                     * else
                     * {
                     *  return element;
                     * }*/
                }
            }
            if (foundElements.Count > 0)
            {
                return(foundElements);
            }

            try
            {
                try
                {
                    Size winSize = AppAccess.GetWindowSize();
                    AppAccess.Swipe(new Point(300, 600),
                                    new Point(300, 300),
                                    1000);
                }
                catch (Exception ex1)
                {
                }
                Thread.Sleep(1000);
                return(this.GetCategoryElement(name));
            }
            catch (Exception ex)
            {
                throw new Exception("找不到分类元素, name = " + name, ex);
            }
        }
Пример #19
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);
            }
        }
Пример #20
0
        private void ToCategoryPage()
        {
            //关闭分类菜单页
            AndroidElement categoryMenuElement = AppAccess.GetElementByClassNameAndText("android.widget.TextView", new string[] { "生鲜分类" }, true, true, true);

            categoryMenuElement.Click();

            //获取店铺的商品分类
            GetCategoryInfo();
        }
Пример #21
0
        private void SelectCategory(NcpAppElement categoryElement)
        {
            AndroidElement categoryMenuElement = AppAccess.GetElementByClassNameAndText("android.widget.TextView", new string[] { "分类" }, true, true, true);

            categoryMenuElement.Click();

            AppiumWebElement cagtegoryElement = this.GetCategoryElement(categoryElement.Name, categoryElement.Attributes["count"]);

            cagtegoryElement.Click();
        }
Пример #22
0
        public void validaValorSnacks()
        {
            TimeSpan period   = TimeSpan.FromSeconds(2);
            int      tryCount = 2;

            if (tryCount <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(tryCount));
            }

            Cinemas cinemas = new Cinemas();

            cinemas.EscolherCinemaComSucesso();

            while (true)
            {
                try
                {
                    AndroidElement menu_snackbar = _driver.FindElementById(menuSnackBar);
                    menu_snackbar.Click();
                    break;
                }
                catch (StaleElementReferenceException)
                {
                    if (--tryCount == 0)
                    {
                        throw;
                    }
                    Common.WaitAndRetry(period);
                }
            }

            AndroidElement pipocas = _driver.FindElementByXPath(menuPipocas);

            pipocas.Click();

            AndroidElement add_pipocas1 = _driver.FindElement(MobileBy.AndroidUIAutomator(addPipocas1));

            add_pipocas1.Click();
            AndroidElement add_pipocas2 = _driver.FindElement(MobileBy.AndroidUIAutomator(addPipocas2));

            add_pipocas2.Click();

            AndroidElement preco_pipocas1    = _driver.FindElement(MobileBy.AndroidUIAutomator(precoPipocas1));
            decimal        preco1            = Decimal.Parse(preco_pipocas1.Text, NumberStyles.Currency);
            AndroidElement preco_pipocas2    = _driver.FindElement(MobileBy.AndroidUIAutomator(precoPipocas2));
            decimal        preco2            = Decimal.Parse(preco_pipocas2.Text, NumberStyles.Currency);
            AndroidElement soma_valor_snacks = _driver.FindElementById(somaValorSnacks);
            decimal        soma_final        = Decimal.Parse(soma_valor_snacks.Text, NumberStyles.Currency);

            if (!(preco1 + preco2 == soma_final))
            {
                throw new ArgumentException("App nao esta somando os valores corretamente");
            }
        }
        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();
        }
Пример #24
0
        //Method For Returning Combobox Values
        public List <string> return_combobox_values(string locator, string list_locator, string locator_type)
        {
            try
            {
                List <string> elements = new List <string>();
                if (locator_type == "id")
                {
                    AndroidElement Combobox = (AndroidElement)waitDriver.Until(ExpectedConditions.ElementToBeClickable(By.Id(locator)));
                    Thread.Sleep(1000);
                    Combobox.Click();
                    Thread.Sleep(2000);
                    var temp = driver.FindElementsById(list_locator);
                    for (int i = 0; i < temp.Count; i++)
                    {
                        if (temp[i].Text.ToString().ToLower().Contains("select"))
                        {
                            continue;
                        }
                        else
                        {
                            elements.Add(temp[i].Text.ToString());
                        }
                    }
                }
                else if (locator_type == "xpath")
                {
                    AndroidElement Combobox = (AndroidElement)waitDriver.Until(ExpectedConditions.ElementToBeClickable(By.XPath(locator)));
                    Thread.Sleep(1000);
                    Combobox.Click();
                    Thread.Sleep(2000);
                    var temp = driver.FindElementsById(list_locator);
                    for (int i = 0; i < elements.Count; i++)
                    {
                        elements.Add(temp.ToString());
                    }
                }
                driver.FindElementByXPath("//*").Click();
                return(elements);
            }

            catch (ElementNotVisibleException)
            {
                throw new AssertFailedException(string.Format("The element provided {0} is not on screen", locator));
            }
            catch (StaleElementReferenceException)
            {
                throw new AssertFailedException(string.Format("The element provided {0} is Stale", locator));
            }
            catch (Exception ex)
            {
                throw new Exception("ex message: " + ex.Message);
            }
        }
Пример #25
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();
        }
Пример #26
0
        private void GetAllShopGoodsInfo(string locationName)
        {
            GotoYonghuiShopPage();

            //获取店铺的所有分类的商品信息
            GetAllCategoryGoodsInfo(locationName);

            //退回到首页
            AndroidElement backElement = AppAccess.GetElementByClassNameAndIndex("android.widget.ImageView", 0, true);

            backElement.Click();
        }
Пример #27
0
        public void Logar()
        {
            AndroidElement botao_entrar = _driver.FindElementById(botaoEntrar);

            botao_entrar.Click();

            AndroidElement botao_entrar_email = _driver.FindElementByXPath(botaoEntrarEmail);

            botao_entrar_email.Click();

            LogarComEmail(TimeSpan.FromSeconds(3));
        }
Пример #28
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);
        }
        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);
        }
Пример #30
0
        public void OpedSideMenuWithButtonTest()
        {
            int duration = 1000;

            AndroidElement menuButton = driver.FindElementById("com.alibaba.aliexpresshd:id/left_action");

            menuButton.Click();
            wait.Until(ExpectedConditions.ElementExists(By.Id("com.alibaba.aliexpresshd:id/navdrawer_items_list")));

            TouchAction action = new TouchAction(driver);

            action.Tap(719, 400).Perform();
            wait.Until(ExpectedConditions.InvisibilityOfElementLocated(By.Id("com.alibaba.aliexpresshd:id/navdrawer_items_list")));
        }