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> /// 执行登录 /// </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 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(); }
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; } }
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); }
// Method For TextBox public void SetTextBoxValue(string textboxvalue, string locator, string locator_type) { try { if (locator_type == "id") { waitDriver.Until(ExpectedConditions.ElementIsVisible(By.Id(locator))); { AndroidElement Value = (AndroidElement)waitDriver.Until(ExpectedConditions.ElementToBeClickable(By.Id(locator))); Thread.Sleep(100); Value.Click(); Value.Clear(); Value.SendKeys(textboxvalue); if (locator == "com.hbl.android.hblmobilebanking:id/s_hbpsBillCompanies") { return; } driver.HideKeyboard(); //try //{ //driver.HideKeyboard(); //} //catch //{ //} //driver.HideKeyboard(); //if (locator == "com.hbl.android.hblmobilebanking:id/s_hbpsBillCompanies") //{ // Value = (AndroidElement)waitDriver.Until(ExpectedConditions.ElementToBeClickable(By.Id("com.hbl.android.hblmobilebanking:id/withoutMargin_Lay"))); // Size size = Value.Size; // var location = Value.Location; // //Size dimension = driver.Manage().Window.Size; // int x = location.X / 2; // //int start_y = (int)(dimension.Height * height_start_dimension); // //int end_y = (int)(dimension.Height * height_end_dimension); // ITouchAction tc = new TouchAction(driver); // Thread.Sleep(2000); // tc.Press(x + 100, location.Y).Wait(1000).Release().Perform(); //} } } else if (locator_type == "xpath") { waitDriver.Until(ExpectedConditions.ElementIsVisible(By.XPath(locator))); { AndroidElement Value = (AndroidElement)waitDriver.Until(ExpectedConditions.ElementToBeClickable(By.XPath(locator))); Thread.Sleep(100); Value.Click(); Value.Clear(); Value.SendKeys(textboxvalue); driver.HideKeyboard(); } } } 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 (InvalidElementStateException) { throw new AssertFailedException(string.Format("The element provided {0} is not in desired state", locator)); } catch (Exception ex) { throw new Exception("ex message: " + ex.Message); throw new AssertFailedException(string.Format("The element provided {0} is invalid", locator)); } }