5.EC、POM模式

作者: f5423d3134f0 | 来源:发表于2020-12-03 17:52 被阅读0次

    selenium_day_5

    0.EC模块presence_of_element_located(locator)

    • locator: 定位器
      • 数据类型,元组
      • ("元素定位方式","对应的定位方式值")
        • 元素的定位方式: 8种
          • "id","class name","partial link text"
        • 对应的定位方式值:
          • id属性值
          • xpath/css表达式
      • WebDriverWait(driver, 10).until(EC.presence_of_element_located(locator)) # 元素定位--单个元素
      • WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located(locator)) # 元素定位--单个元素

    1.自动化测试用例编写原则

    • 一个脚本就是一个完整的场景
    • 一个脚本只验证一个功能点
    • 脚本尽量只做正向逻辑验证
      • 正向逻辑≠正确数据
    • 脚本之间不要产生关联,每个脚本都可以独立运行
    • 脚本只对验证点进行验证,不对脚本中每一步骤做验证

    2.POM模式

    2.1什么是POM模式

    pom模式是页面自动化的一个常用的模式;Page Object Module页面 对象 模型

    2.2 POM总体思路

    一切皆对象

    • 把项目中的每一个页面当做一个对象
    • 把每个页面分为三层
      • 表现层
        • 页面上可见的所有元素
      • 操作层
        • 对页面上所有可见元素的操作(点击,清空,输入)
      • 业务层
        • 对元素操作后所实现的功能

    2.3 POM框架文件结构

    • 项目名称
      • common文件夹 --存放公共方法
        • base.py --对selenium做二次封装(基础类)
          • 方法名称一定--见名知意,注释不能缺失
          • 打开浏览器
          • 打开网址
          • 元素定位(单个/一组)
          • 元素操作(点击/输入)
          • 关闭浏览器
          • 下拉菜单
          • alert弹窗
          • iframe
        • 工具类
          • operation_excel.py
          • xxxx.py
      • page文件夹 --一个页面就是一个.py文件
        • 封装页面的表现层和操作层---继承base.py
        • login_page.py # 登录页面
        • register_page.py # 注册页面
      • script文件夹 -- 测试用例
        • 封装页面的业务层(测试用例)
        • 测试用例调用page文件夹中的类
      • data存放测试数据
      • report存放测试报告

    3.selenium ide(了解)

    • 下载
      • 下载 火狐浏览器的一个插件
      • 菜单---->附加组件---->搜索selenium ide---->选第一个下载
    • 录制
      • 打开selenium ide
        • 创建新项目
        • 打开已有项目
        • 关闭selenium
        • 记录并创建新项目
      • 在地址栏中输入被测网址
      • 点击REC---REC图标为红色
      • 操作被测网址
      • 点击停止记录Pause
      • 保存
    • 回放
      • 点击运行当前测试用例/运行所有测试用例
      • 将时间调到最慢
    • 导出代码
      • 在测试用例上右键---->选择Export
      • 选择语言---Python

    相关文章

      网友评论

        本文标题:5.EC、POM模式

        本文链接:https://www.haomeiwen.com/subject/ycvrwktx.html