????Appium?????????????
?????????Appium???????????????????????????????????????????????????Appium?????????????????????????????????????????????????????????Appium???iOS??Android??FireFoxOS???????????????FireFoxOS????????????????????????????????????
????Appium??iOS???????????????????????UI Autoamtion????Android???4.2????????????Uiautomator??4.1?????????eBay??selendroid??????????????????????????????????????п????????????????????????Uiautomator???????????????
??????????????????????
????Appium iOS ??????
????Appium Android selendroid ??????????????????????????????2?
????Appium Android Uiautomator ????????????????????
????selendroid??????????
????Appium iOS???????????
????????????????UI Automation??????????UI Automation??????????????????
??????1????????Element??setValue??????
??????2??UI Automation?е? UIAKeyboard?????????typeString??????
??????????????????????????????????????????????????iOS????????棬???????????????????????????????????????1???????????????????????set???????????????????????textChanged???????????2???????????????????????????????????????????????????????????????????
????Appium iOS?汾?? sendkeys??????????? UIAKeyboard??typeString??????????typeString????????????????????Appium iOS?汾????????????????typeString????????????????????????????????typeString?????????????????????????????????????????????????????????typeString???????????????????£????????setValue???????????????????Appium????????setValue??
????Appium Android Uiautomator???????????
???????????????????£????????????????Appium???ЩApp??????????????????????????????App????????????????????????Ъ????????????????????????????????????????????????????????????????з???д???????????ο???
???????? ?????δ???????£?????????????????????
????input.sendKeys("???????й?");
????????????????????????????????
????input.sendKeys("ssssssss");
????????????????????????????????Google?????????????????л?????????????????????????????????????????????Google????£????????????????????????????????????????????????????????JS????????????????????????Java?汾??????????£?
????Java
????inputDir.put("element"??((RemoteWebElement)input).getId());
????inputDir.put("text"??"???????й?");
????driver.executeScript("element:setText"?? inputDir);
??????????????????????????????
?????e???????
?????????Appium ??sendkeys???????Client???????http????Appium??server????AppiumServer???????? ????? rounting ???????????????????????·??? rest.post(‘/wd/hub/session/:sessionId?/element/:elementId?/value’?? controller.setValue); ???????????????controller??setValue???????????????????????????bootstrap????е?AndroidElement.java???????????setText?????????????£?
????Java
????public boolean setText(final String text) throws UiObjectNotFoundException {
????if (UnicodeEncoder.needsEncoding(text)) {
????Logger.info("Sending Unicode text to element: " + text);
????String encodedText = UnicodeEncoder.encode(text);
????return el.setText(encodedText);
????} else {
????Logger.info("Sending plain text to element: " + text);
????return el.setText(text);
????}
????}