PO模式和RFS模式

PO模式

PO模式就是page object model,可以帮助让代码易读,好维护并且能重用。

 

 

实际上PO模式就是为页面元素建立一个对象仓库,集中的管理页面元素

在这种模式下面,每一个web页面都有一个独立响应的class。这个页面class用于查找页面里面的每一个元素并且还包括了页面的方法。如果这个方法会有页面跳转或者完成功能,最好是用功能的名称来命名。

比如一个登录的实现,正常来说一个用户名,密码,一个登录。如果正常登陆,会显示HomePage。

 

 

按照PO模式来设计,页面包括两个Class。LoginPage和HomePage,一个测试方法TestLogin。

LoginPage里面包括元素的定位,字段的设置,比如setUserName,setPassword,clickLogin。Login的方法(比如输入用户名,密码点击登录)在TestLogin类里面,可以传入具体的值和测试用例方法进行,调用login的方法,加入assert方法进行用例的校验。

实际的应用当中,一般我们会抽取一个页面的基类,用于对一些页面元素的功能操作进行扩展,比如获取title,模态窗口的处理,一些基本控件的处理都可以放在这个页面的基类里面。后面的页面类都可以对这个基类进行扩展。

 

RFS

RFS就是关键字驱动的方法,实际上也可以用PO的模式来实现。

我们常说的自动化,无非就是找到页面的元素,然后对这个元素进行操作(赋值或者点击),然后把这些组合起来做出一个功能。一个key,可以理解为元素.操作。RFS做的比较好的设计是可以灵活的对元素进行分拆和组装,类似于最小颗粒度的积木,一个最小颗粒度的积木就是一个关键字,你可以直接用,也可以把几个关键字组装成一个大的关键字。到最后就可以像搭建积木一样的把自动化搭建好。

posted @ 2016-08-30 08:28  polestark  阅读(559)  评论(0编辑  收藏  举报