// Get child element from parent element based on selector public static AndroidElement GetChildElement(AndroidElement parent, SelectBy by, string selector) { AndroidElement e = null; switch (by) { case SelectBy.ID: e = (AndroidElement)parent.FindElementById(selector); break; case SelectBy.Class: e = (AndroidElement)parent.FindElementByClassName(selector); break; case SelectBy.XPath: e = (AndroidElement)parent.FindElementByXPath(selector); break; case SelectBy.ExactText: e = (AndroidElement)parent.FindElementByAndroidUIAutomator(String.Format("new UiSelector().text(\"{0}\")", selector)); break; case SelectBy.ContainsText: e = (AndroidElement)parent.FindElementByAndroidUIAutomator(String.Format("new UiSelector().textContains(\"{0}\")", selector)); break; case SelectBy.RegexText: e = (AndroidElement)parent.FindElementByAndroidUIAutomator(String.Format("new UiSelector().textMatches(\"{0}\")", selector)); break; } return(e ?? throw new NotFoundException("Child with selector " + selector + " not found.")); }
private string GetListPersonElementText(AndroidAppAccess appAccess, AndroidElement listLElement) { try { StringBuilder textBuilder = new StringBuilder(); AppiumWebElement nameLElement = listLElement.FindElementByClassName("android.widget.LinearLayout"); if (nameLElement != null) { AppiumWebElement nameElement = nameLElement.FindElementByClassName("android.widget.TextView"); if (nameElement != null) { ReadOnlyCollection <AppiumWebElement> propertyElements = listLElement.FindElementsByClassName("android.widget.TextView"); for (int i = 0; i < propertyElements.Count; i++) { textBuilder.AppendLine(); textBuilder.Append(propertyElements[i].Text.Trim()); } return(textBuilder.ToString()); } } return(null); } catch (Exception ex) { //总是莫名其妙报错 return(null); } }
private string GetNameByListPersonElement(AndroidAppAccess appAccess, AndroidElement listLElement) { AppiumWebElement nameElement = listLElement.FindElementByClassName("android.widget.LinearLayout").FindElementByClassName("android.widget.TextView"); return(nameElement == null ? null : nameElement.Text); }