public void TestCorrectEmailWrongPass() { emailInput.SendKeys("*****@*****.**"); passInput.SendKeys("1234"); signButton.Click(); var state = driver.GetAppState("com.example.myapplication"); Assert.IsTrue(state == AppState.RunningInForeground); }
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); }
public void Test1() { AndroidElement registerButton = _driver.FindElementById("home_onboarding_email_register_button"); registerButton.Click(); Assert.Pass(); }
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(); }
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); }
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(); }
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(); }
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); }
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(); }
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); } }
/// <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); }
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); } } }
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(); }
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 + "' отличается от ожидаемого" + "???"); }
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(); }
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); }
/// <summary> /// App submit operation. /// </summary> public void Submit() { AndroidElement submitButon = this.driverHelper.Driver.FindElement(Constants.SubmitButtonId); Validate(submitButon, Constants.SubmitButtonId); submitButon.Click(); }
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); } }
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); } }
private void ToCategoryPage() { //关闭分类菜单页 AndroidElement categoryMenuElement = AppAccess.GetElementByClassNameAndText("android.widget.TextView", new string[] { "生鲜分类" }, true, true, true); categoryMenuElement.Click(); //获取店铺的商品分类 GetCategoryInfo(); }
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(); }
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(); }
//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); } }
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(); }
private void GetAllShopGoodsInfo(string locationName) { GotoYonghuiShopPage(); //获取店铺的所有分类的商品信息 GetAllCategoryGoodsInfo(locationName); //退回到首页 AndroidElement backElement = AppAccess.GetElementByClassNameAndIndex("android.widget.ImageView", 0, true); backElement.Click(); }
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)); }
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); }
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"))); }