// 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.")); }
public AndroidElement GetElementByIdNoWaiting(AndroidElement parentElement, string id, bool errorNone) { try { return((AndroidElement)parentElement.FindElementById(id)); } catch (Exception ex) { if (errorNone) { throw ex; } else { return(null); } } }