https://github.com/appium/appium/blob/master/docs/en/commands/session/timeouts/implicit-wait.mdgit
隐式等待:
设置一个超时时间,服务端(Appium)在这个时间内会去不断寻找元素,超时找不到时就会报错,他是全局性的
driver.implicitly_wait(10) # 10秒
driver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS);github
显示等待:
客户端(用例端),设置一个超时时间和一个元素查找条件,在这个时间内不断寻找这个元素,超时找不到时就会报错
WebDriverWait wait = new WebDriverWait(driver,10);
WebElement webElement = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));web
总结:
隐式等待和显示等待在本质上是一致的
显示等待多了一个指定元素条件超时时间session
在使用场景上,可使用隐式等待来作一个全局的控制app
若是某个控件比较特殊,须要更长的时间加载,好比十几秒或者更长,就可使用显示等待对其进行单独处理ide