web自动化中selenium的三种等待

一、等待的作用

  1、在系统的功能运行过程中,所有的内容是需要一定的时间来实现展示,

  2、时间耗费长短与网络速度、系统框架设定、接口的执行复杂度有关,
  3、因此需要设置缓冲时间,若未设置缓冲时间,容易导致元素找不到

二、等待方式

  强制等待 sleep()
    导入time中的sleep,等待X秒后再执行后面的代码
    缺点
      1、无法精确把握等待的时间(如无法判断页面是否加载完成,是否可以进行下一步操作)
      2、一直使用强制等待会降低自动化效率,浪费大量时间
    优点
      1、简单使用,一般在调试中使用

    隐式等待
    设置一个隐形的等待,设置最长等待时间,如果在这个时间内完成了页面内容全部加载,则进行下一步操作,否则一直等待时间结束,再进行下一步
    缺点

      必须等待页面加载完成才能进行下一步,应用度上不太灵活
    优点

      对整个WebDriver周期有效,所以只需要设置一次

  显示等待
    专门用于指定的条件进行等待,在设置的最大时长内,依照查找的时间频率来进行搜索,查找指定的对象,until表示如果找到,则继续下一步,否则报出异常
    优点

      精确对某个特定条件进行等待,条件成立进行下一步,否则报出异常
    缺点

      应用上而言,相较于其他两种等待更为复杂

三、自动化中应该避免的坑

  页面元素定位不到原因:
    1、元素定位错误
    2、未添加等待时间
    3、直接copy容易出错
  针对上述问题,采用xpath方式手写定位,确认元素的正确性

猜你喜欢

转载自www.cnblogs.com/puti306/p/11829729.html