最近因工作需要,又要调研UI自动化方案了,本人以前用过QTP,也用过python+selenium和java+selnium,由于我们接口自动化框架采用的也是java+testng,故决定还是使用java+testng+selenium的方案:
一、环境搭建:
安装的话不在本篇介绍,可参看本人的另一篇博客:java+selenium UI自动化环境搭建
二、设计模式
UI自动化最常用的设计模式是PO(page object)的设计模式,即将每个UI页面的一些操作如:输入文本框、选择下拉框、点击按钮等封装成页面类,供testcase调用,以提高程序的复用性和可维护性。
三、项目结构
建立好一个maven项目,然后我们把结构大概设计成如下模式:
Framework目录存放的是框架层的一些类;
Functions目录存放的是一些功能类;
PageObject目录存放的是各个页面对象;
TestData目录存放的是公共的数据常量;
tests目录存放的是所有的测试用例;
utils目录存放的是工具包。
四、PageObject类编写
PO设计模式的原理是通过页面工厂类(page factory)去初始化页面实例的时候也会一起实例化该页面的元素定位。我们