PageObject学习
2018-03-02 本文已影响0人
夏了夏夏夏天
转载自:https://www.cnblogs.com/zhoufankui/p/6096866.html
写之前想把这次的灵感记录下来:
之前看PO模式几次,始终不得法,感觉一片混乱,可就在一天早上,正在照着别人的代码写自己项目时突然脑海中想通了几个问题:1.为什么要封装页面。2、各个模块的作用以及为什么把某个东西封装在某个类里面(想通这节就可以举一反三,可以根据自己的需要任意的封装自己想用的东西)。
正文:
在我理解看来,PO模式主要有三个主要模块:基本层,页面层和逻辑层。
基本层包括初始化方法以及封装webdriver中的最基本的方法(open方法以及find_element方法,还有根据自己的需要封装自己使用到的webdriver方法)。页面层为对定位元素的封装。逻辑层为对业务逻辑层面的封装。这样对业务逻辑进行封装之后,测试的时候,只需要传入测试数据就可以了,而不用在去思考业务逻辑层面的东西。还有以后定位元素变了只需要改变页面层的东西,业务逻辑变之后,只需要改变逻辑层的东西。这样就灵活多了。下面为代码截图。
基本层:
定位元素封装:
业务逻辑的封装:
测试用例: