zoukankan      html  css  js  c++  java
  • page object 设计模式的基本原理

    以前我写了很多篇博客是关于robotframework的自动化测试。

    如果大家看了的话,就能慢慢理解UI自动化测试的分层与封装了。

    其实用python语言写自动化脚本,不使用robotframework框架的话,分层与封装的思想是一样的原理。

    只不过是我们自己通过函数和方法来进行分层和封装,没有现成的框架来供我们调用而已。

    今天我们讲的page object设计模型,其实就是一个分层与封装的模式。

    我就讲讲大概的流程吧。

    一:当我们自动化脚本写完后,就是类似于记流水账一样,一个业务流程我们写好了,但是缺点就是:代码与数据混合在一起,非常的难维护。代码重复多,臃肿。

    如果数据变动,定位元素变动,我们要在我们所写的脚本中找半天,当我们改动脚本后,更换数据后,脚本很容易出错,太脆弱了,维护起来很难,

    导致自己都不想维护了。

    二:page object 就是把数据与代码分离,我们的代码就是各种方法和函数,都是为了测试这些数据的。我们可以很容易的用不同的数据来进行测试。

    优点:

    • 减少代码的重复;
    • 提高测试用例的可读性;
    • 提高测试用例的可维护性,特别是针对 UI 频繁变化的项目;

     

    三:PO模型的大概流程与思路是怎样的呢?如何实现呢?

    我们做UI自动化的时候,一般都是分为三层来实现的。

    1,元素定位层

    2,操作层

    3,业务层

    后面就是把业务层混合数据一起,组织成测试用例。

    后面我会通过3-5篇博客,来讲解具体的实现。

    这个月我都在复习这个设计模式,以前用过这个模型做过项目,现在重新捡起来复习一个月,做几个APP的UI自动化,

    大家有兴趣的话可以跟着我的节奏,一起复习。

    当我复习完PO模型后,我就会把Jenkins复习一段时间,最后把整个流程串联起来,最终实现一键自动化的目标。

    后期,我还会去学习多机操作的方法,多部手机同时运行UI自动化脚本。

    学习完这些后,再去攻克手机性能的测试,手机抓包等知识。

    脚踏实地,一步一步的来,需要时间的。

    大家如果有兴趣的话,或者在练习的时候,有什么疑问,可以添加我的微信,大家一起交流,共同进步。

    我的微信号:huruixuandebaba       加我时,备注一下:博客园。我就会通过的。

  • 相关阅读:
    __declspec(noinline)
    硬件遮挡查询
    #pragma pack(*) 与 __declspec(align(*))
    Interesting. 如何获取一个数组长度
    __declspec(novtable)
    如何将一个float的小数部分保存成RGBA4个8位的byte
    plain old C++ functions, base模板函数与特化的模板函数
    LeetCode 5: Longest Palindromic Substring
    LeetCode 335:Self Crossing 自交
    LeetCode 649:Dota2 Senate
  • 原文地址:https://www.cnblogs.com/star12111/p/14514324.html
Copyright © 2011-2022 走看看