UI自动化测试 PO模式

285 阅读2分钟

  关于PO模式网上一搜一大椎,此处只做简单介绍。

  PO模式即page object意思是把页面提取出来。他的标准格式是三层。以下三层的解释是我根据自己项目实际应用写的。

  第一层页面层里面包含了所有的页面,可在下面加其他包,比如pages.login,pages.home等,一个包下面是一个菜单下所有页面。

  第二层操作层,我取名handles,里面包含页面中所有元素的操作,如果有二级包,应与页面层对应

  第三层业务层,这一层主要使用了for与switch两个方法,通过for遍历传过来的map,然后通过map的key来决定调用handle中的哪个方法。

 

  除了这三层外我又根据需求增加了公共层、工具层、数据层与测试用例层。

  使用PO模式的好处是减少代码冗余,业务与实现分开,降低维护成功。

  首先减少代码冗余,比如说页面元素封装我们操作时不需要每次使用时再重新定位了。不同的类文件可重复调用。

  业务与实现分开可更清楚业务流程,与JAVA的页面对象吻合,不关注实现过程,只关注结果。

  降低维护成本,这样可以很好理解,就是定位失败了只要修改页面层一行代码,所有使用他的地方都修改了。不需要一个一个去找哪儿需要重新定位。

 

根据以上思想我们创建了以下八个包

  • pages放所有页面类
  • handles放元素操作类
  • business放业务流程类
  • testcase放测试类
  • testdata切割从Excel中读取到的数据
  • resources放所有资源类
  • common放所有与浏览器及页面元素操作有关的公共类
  • utils放所有excel、xml等第三方工具类