• 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

  • 相关阅读:
    ComboBoxEdit 方法与属性设置
    Devpress.XtraGrid.GridControl 笔记
    C#中的多线程入门
    comboBox获取value中的值
    sql查询去掉以多列为条件的重复值
    DEV控件:gridControl常用属性设置
    C# MessageBox.Show 用法
    跨服务器与连接不同数据库 不跨服务器连接库存表
    无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象
    .Net Windows服务程序中获取安装程序所在目录
  • 原文地址:https://www.cnblogs.com/hanmk/p/9021783.html
Copyright © 2020-2023  润新知