zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Python基础---线程
    virtualenv和virtualenvwrapper的安装和使用
    微信公众号实现简易的物联网控制(二)
    PyQt5之SQLite数据库操作(1)
    PyQt5无边框后窗口的移动方法
    PyQt5显示GIF图片
    Python显示进度条的方法
    WinSCP默认使用root用户登录的方法
    微信公众号实现简易的物联网控制(一)
    Arduino语音天气预报(三)
  • 原文地址:https://www.cnblogs.com/hanmk/p/9021783.html
Copyright © 2011-2022 走看看