1、AppiumDriver继承SearchContext
2、调用PageFactory.initElements方法
PageFactory.initElements(new AppiumFieldDecorator(driver,new TimeOutDuration(3, TimeUnit.SECONDS)), this);
3、初始化会读取上边TimeOut参数,设置查找元素全局超时时间
4、操作元素时,读取元素定位注解(platform判断是平台是iOS还是Android),并判断是否有WithTimeOut注解,如果有,读取TimeOut注解,对于该元素,覆盖全局TimeOut
5、查找元素,如果返回NoSuchElementException异常,忽略掉,等待500毫秒,再查找,循环,直到找到元素返回元素(或超过TimeOut时间,抛出NoSuchElementException或WebDriverException,找不到元素)