zoukankan      html  css  js  c++  java
  • appium等待元素

    1、sleep()方法

    Thread.sleep(60000)强制等待60s

    2、隐式等待implicitlyWait()

    driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
    全局等待30s不管元素是否已经加载
    1) 当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常
    2)换句话说,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找DOM,默认的时间是0
    3) 一旦设置了隐式等待,则它存在整个WebDriver 对象实例的声明周期中,隐式的等到会让一个正常响应的应用的测试变慢。
    4) 它将会在寻找每个元素的时候都进行等待,这样会增加整个测试执行的时间。
    implicitly_wait()方法比sleep() 更加智能,后者只能选择一个固定的时间的等待,前者可以在一个时间范围内智能的等待。

    3、显示等待WebDriverWait()

    WebDriverWait wait = new WebDriverWait(driver, 60);
    WebElement e = wait.until(new ExpectedCondition<WebElement>(){ 
    @Override 
    public WebElement apply(WebDriver d) { 
    return 
    d.findElement(By.xpath("//android.widget.RelativeLayout[@index='2']")); 
    }});
    e.click();
    WebDriverWait类的构造方法接受了一个WebDriver对象和一个等待最长时间(60秒)。然后调用until方法,其中重写ExpectedCondition接口中的apply方法,让其返回一个WebElement,即加载完成的元素,然后点击。默认情况下,WebDriverWait每500毫秒调用一次ExpectedCondition,直到有成功的返回,当然如果超过设定的值还没有成功的返回,将抛出异常

  • 相关阅读:
    Best Time to Buy and Sell Stock III
    Valid Palindrome
    Longest Substring Without Repeating Characters
    Copy List with Random Pointer
    Add Two Numbers
    Recover Binary Search Tree
    Anagrams
    ZigZag Conversion
    Merge k Sorted Lists
    Distinct Subsequences
  • 原文地址:https://www.cnblogs.com/liuwanqiu/p/8543353.html
Copyright © 2011-2022 走看看