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

  • 相关阅读:
    85. Maximal Rectangle
    120. Triangle
    72. Edit Distance
    39. Combination Sum
    44. Wildcard Matching
    138. Copy List with Random Pointer
    91. Decode Ways
    142. Linked List Cycle II
    异或的性质及应用
    64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/hanmk/p/9021783.html
Copyright © 2011-2022 走看看