What?
PO模式(page object model):是一种设计思想,是为了解决自动化测试过程中随着代码量的增加导致的大量代码难以维护、难以扩展、可读性极差等灾难性的事件的方案,所谓Page Object及页面对象,页面对象是哪些东西呢?比如一个按钮是一个对象,一个页面也是一个对象.
实际的应用当中,一般我们会抽取一个页面的基类,用于对一些页面元素的功能操作进行扩展,比如获取title,模态窗口的处理,一些基本控件的处理都可以放在这个页面的基类里面。后面的页面类都可以对这个基类进行扩展。
Advantage:
1,代码可读性强; PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰; 更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素;
2,可维护性高; 可复用的页面方法代码会变得更加优化;
3,复用性高; 页面对象与用例分离,使得我们更好的复用对象.
What?
关键字驱动测试(Keyword driver testing)也被称为表格驱动测试或者基于动作字的测试,工作中经常遇到的KDT测试工具有很多,比如Selenium IDE、Katalon Recorder、UFT等。
我们常说的自动化,无非就是找到页面的元素,然后对这个元素进行操作(赋值或者点击),然后把这些组合起来做出一个功能。一个key,可以理解为元素.操作。RFS做的比较好的设计是可以灵活的对元素进行分拆和组装,类似于最小颗粒度的积木,一个最小颗粒度的积木就是一个关键字,你可以直接用,也可以把几个关键字组装成一个大的关键字。到最后就可以像搭建积木一样的把自动化搭建好.
关键字驱动的核心就是对测试用例(步骤)进行拆分:
a、测试步骤中的对象(Test Object)
b、测试对象执行的动作(Action)
c、测试对象需要的数据(Test Data)
1、PO模型更关注的页面、元素抽象成代码,在代码级别的复用上会简单些,但编码能力要求会更高一些。
2、关键字模型,更关注的是业务流程,其实很多企业也是如此,我们只需要在excel文件中讲测试用例维护好,而需要编写的脚本量非常小,如果页面有变动,只需要维护excel表格中的用例数据即可,而脚本基本不需要变动。