page object 设计模式的基本原理

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

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

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

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

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

我就讲讲大概的流程吧。

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

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

导致自己都不想维护了。

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

优点:

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

 

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

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

1,元素定位层

2,操作层

3,业务层

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

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

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

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/star12111/p/14514324.html