????AndroidElementHash?????getElement???????????????????????????????????????????

/**
* Return an elements child given the key (context id)?? or uses the selector
* to get the element.
*
* @param sel
* @param key
*          Element id.
* @return {@link AndroidElement}
* @throws ElementNotFoundException
*/
public AndroidElement getElement(final UiSelector sel?? final String key)
throws ElementNotFoundException {
AndroidElement baseEl;
baseEl = elements.get(key);
UiObject el;
if (baseEl == null) {
el = new UiObject(sel);
} else {
try {
el = baseEl.getChild(sel);
} catch (final UiObjectNotFoundException e) {
throw new ElementNotFoundException();
}
}
if (el.exists()) {
return addElement(el);
} else {
throw new ElementNotFoundException();
}
}
??????????1???????????????????UiObject??????????addElement??UiObject?????????AndroidElement?????浽????????
??????????2??????????appium??????????????????????????????????????????????????????????????UiObject????????????????????????????addElement??UiObject????????AndroidElement????????浽????????
????4. ???
??????????????????pc???????ж??????????????findElement???????????id??AndroidElement???????????????У???????appium?????????????????????????keyMap??????????????Щ?????????????????????ò????key????????????????AndroidElement????????????????????????????????????????????Dictionary???????????????????hashtable??dictionary?????????????????ù????????????????bootstrap????????????????????????????Щ?????????????????????????
???????????????appium??????????key??????????keyMap????????????????????????
????????????????????????????ж???????????????Σ?
?????????????????ò???????????????ε????????????UiObject????????UiSelector mSelector????????????????????????????
????????????????????????UiSelector????????????????????????????????????????bootstrap?????e????????????????????
????????????????????з???????????????UiSelelctor???????в??????
???????????????
??????Щ???????????????е????????????????????????????????
????5. С??
???????????bootstrap???????????????????
????AndroidElement?????????????????bootstrap????
????AndroidElement???????????UiObject el??????uiautomator????е??????????????????????????????uiautomator??????????????????
????pc???WebElement????Bootstrap??AndroidElement????????AndroidElement?????String id????????????
????AndroidElementHash????????????AndroidElement??id????????AndroidElement??????value??????????pc?????????????????????????????????????????????????μ?AndroidElement??????????ù?????У?????ù????????????????????????ù?????