美文网首页Python小哥哥python进阶课
Python:Page Object设计模式

Python:Page Object设计模式

作者: 我爱学python | 来源:发表于2019-06-22 16:15 被阅读44次

    (一)前言

    简单的说就是分为2层,页面class 和测试class。

    页面class:分为父类和子类(子类指具体的页面,每一个页面都创建一个类),父类中定义公有的属性和方法(操作)。

    #对面向对象有了解的,应该很容易理解抽象出公有属性和方法的意思

    #父类和子类我是按自己的理解进行描述的,或者可以说basepage对象(父对象,提供公有的属性、方法) 和 page对象(具体哪一个页面)

    测试class:按照业务流程,对各个页面的属性、操作进行组合,形成一个测试用例。

    使用page object模式,抽象出各个页面的元素、方法,然后再按照测试用例的要求进行组合。这样做的好处是

    1、页面修改了,只要对页面类进行修改就好了,对测试类(测试用例)没太大影响

    2、可以在多个测试复用部分代码。

    3、测试代码(测试类、测试用例)部分变得更易读、灵活、可维护。

    我把上一篇的代码按照page object模式修改了下,代码如下。

    (二)父类(BasePage对象,base.py)


    (三) 首页(page对象(子类),homepage.py)


    (四) 注册页面(page对象(子类),registerpage.py)

    (五) 测试类(测试用例,testRegisterNewUser.py)


    (六)测试准备(basetestcase.py)

    #这部分本来想放到第二步的,不过感觉有点影响对page object的理解,就放到最后了

      创建一个类,定义setup()和teardowm()方法,方便所有测试复用。这个类可以理解为是测试类的一部分,我只是把所有测试类(测试用例)都用到的setup()和teardowm()拿出来,方便复用。如果哪个测试用例有特殊要求,也可以重写。

    相关文章

      网友评论

        本文标题:Python:Page Object设计模式

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