• selenium+Page Objects(第一话)


    简单介绍一种selenium用来做web自动化测试的设计模式:Page Objects

    一.Page Objects介绍

        用官话说它是selenium中的一种页面对象设计模式(不是测试框架!是一种开展ui自动化测试的思想),把ui自动化测试中的每个页面抽象出来,将每个页面用到的业务逻辑(page类)和页面元素(locator类)各自封装起来,然后编写测试用例时只需要调用每个page中的业务逻辑方法即可。测试(用例)脚本不需要关注元素的定位情况,当元素位置发生变化时,只需修改对应页面元素的locator即可

        使用页面对象模式的好处:
    (1)创建可跨多个测试用例共享的可重用代码(每个测试用例只需调用page类中封装好的业务逻辑(操作)即可)。
    (2)减少重复代码的数量。(如向输入框输入信息、单击操作等)
    (3)如果用户界面发生变化,修改脚本只需要在一个地方进行更改。

     二.实例操作

    以我平时测试的一个系统为例,只抽取其中的主流程,作如下分析:

    1.从登陆首页到结束一共经历了几个页面(一般有几个页面就要写几个page类,在每个page类中添加这个页面需要进行的操作,不必一次性全部添加进去,用到什么操作添加什么即可)

    2.每个页面中元素对象的封装(可以直接写到每个page类中,也可以单独写到一个关于元素定位的文件)

    3.可以把常用的操作封装到一个基类中(如定位元素、单击、输入信息、清除信息),然后每个page在写业务逻辑时就可以调用基类中的方法

    4.page类写好后,利用python自带的unittest单元测试框架编写测试用例,只需调用page类中的方法覆盖不同的测试场景即可

    这样先创建如下目录结构


    2018-05-10 21:41:07

  • 相关阅读:
    vue插件编写与开发
    http状态码解读
    JavaScript 在HTML中的加载顺序
    vue props的理解
    vue项目中使用scss
    [LeetCode] 57. 插入区间
    [LeetCode] 55. 跳跃游戏
    [LeetCode] 56. 合并区间
    [LeetCode] 54. 螺旋矩阵
    [LeetCode] 53. 最大子序和
  • 原文地址:https://www.cnblogs.com/hanmk/p/9021783.html
Copyright © 2020-2023  润新知