本文以www.baidu.com为例,记录了学习PageObject的过程。
第一步,初识selenium,编写第一个面向过程的自动化代码,按照功能测试的思路,顺序执行每一个步骤
第二步,实现PageObject,分离测试脚本和测试步骤
(1)page目录:编写每一个page页面的属性(用变量,例如id,name等)和操作(用方法,例如输入数据,点击等)。将每一个页面设计成一个class,其中包含页面中需要测试的元素(按钮、输入框、浮出层、图标、下拉框等)以及操作各种元素的方法
(2)testcase目录:包含初始化(数据准备)、测试方法(调用页面,按业务逻辑执行、组合执行)、结束(清除数据)
第三步,在第二步的基础上重构与改进,将公共处理的事情写在basepage里面,用于所有页面对象的继承,例如:
(1)打开浏览器
(2)输入数据时,先点击、再清除、再输入,可以写在一个方法里
(3)封装其他的方法
具体的每一个需要测试的页面需要继承BasePage,具体的页面属性和操作还是在这一层定义,若出现UI的更改,只需要修改这一层的对象即可。
最后测试类就是用户的具体操作