zoukankan      html  css  js  c++  java
  • web自动化测试,元素等待

    一、元素等待

    等待的原因,页面跑不过代码

    1、sleep - 强制 辅助的作用(在显性等待的基础上,在sleep下)
    2、智能等待:最多愿意等待15秒。但是呢,如果在15内,任何一个时候元素出现了,那就继续下一行代码。
                 超时了,报超时异常  TimeoutException、 NosuchElementExption
     
       隐性等待:2种场景  1个元素被找到-元素存在/1条命令执行完成-api的执行
                 每一个会话当中,只需要被调用一次。
                 会话:从你打开浏览器,到quit关闭整个过程。 --- sessionId
     
    通过driver对象给所有的元素设置的全局等待,在设置的时间范围内一直不断去找元素,如果超时则会抛出异常。
     
       显性等待:明确了要进行等待,等待元素可见?等待url变更为XXX?? 等待新的窗口出现??等待元素可用??
       在你需要的地方,直接用显性等待。  条件+等待
       等待:等待上限 - 15秒   轮询周期 - 多少秒去确认一下条件是否成立。默认是0.5.  WebDriverWait类
       WebDriverWait(driver,15,0.5).until/not_until(条件) 等待后还没出现,就会抛异常
       条件:有一个专门的条件模块。Expected_condition
     
    针对元素设置的等待时间,并且只对该元素有效,用来等待某个条件满足。默认会每间隔0.5秒去找元素,检查元素是否满足等待的条件,超时则会抛出异常。
     
     
  • 相关阅读:
    runloop源代码
    runloop的source
    How an Event Enters a Cocoa Application
    RunLoop主要处理以下6类事件
    NSRunloop总结
    performSelector与objc_msgSend
    iOSUI显示思想
    NSPort与NSRunloop的关系是流与消息调度的关系
    Core Animation 负责将bitmap绑定提交到 GPU-[CALayer _display]
    iOS构建流畅的交互界面--CPU,GPU资源消耗的原因和解决方案
  • 原文地址:https://www.cnblogs.com/hherbk/p/14606456.html
Copyright © 2011-2022 走看看