浏览器等待

浏览器等待

1) 为什么要进行等待?

1.网速慢

2.网站内容过多

3.如果不进行等待而直接定位元素,可能会抛出异常

2) selenium中等待的分类:

显示等待

显示等待是根据条件进行等待,等待条件出现

WebDriverWait类是由WebDirver 提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。

案例

WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located((By.CLASS_NAME,"g-hu")))

隐式等待

隐式等待是根据是件进行等待,等待特定时间

driver.implicitly_wait(n)

n的单位为秒,n为最大值,在这个最大值内只要该界面上的全部元素都加载完成定就结束没有加载出元素就抛出  NosuchException.

注意:优先隐式等待,次之显式等待,最次固定等待

PO模型介绍

在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相同),通常PO模型可以大大提高测试用例的维护效率

优点:重用,业务和对象分离,代码结构清晰,方便代码维护

PO的核心要素

在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性

每一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个方法

TestCase继承unittest.Testcase类,并依赖page类,从而实现相应的测试步骤

总结

PO设计模式中的BasePage基类对应案例中的BasePage.py文件

PO模式中的pages中的案例显示Search.py

PO模式设计中TestCase对应案例中的TestCase.py

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性 每一个pag...
    Zhangkaix_阅读 211评论 0 0
  • 十八单元 自动化持续继承 1.概念 1.持续集成:持续的将分支集成到主干 2.持续交付:持续将此版本提交给质量团队...
    小董小董阅读 459评论 0 0
  • 第五单元、性能测试 1.什么是性能测试 通过自动化的测试工具模拟系统正常、异常、峰值的场景对系统的各项性能...
    人间朝与暮阅读 324评论 0 0
  • 一、测试笔记 1.软件定义:数据+指令+文档 2. 软件分类: 场景:工具...
    _想睡觉_阅读 372评论 0 0
  • 一、Python介绍 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python...
    成啦过客的青春阅读 503评论 0 0