以UI自动化测试为例(接口自动化测试也是一样)
大部分人都知道UI自动化测试无非就是元素定位、然后输入数据、然后鼠标操作,比如一个简单的搜索
但是随着时间的迁移,随着页面越来越多,功能越来越多,每一个页面都要进行
元素定位,操作方法,测试用例
这样页面的元素的任何改变都会把脚本维护变得繁琐,而且容易出错
所以在UI自动化中,引入Page Object(PO):页面对象模式来解决,PO能够让我们代码可读性更强,维护性高、复用性高
PO是什么
1、是一种设计模式,用来管理维护一组web元素的对象库
2、PO下,应用程序的每一个页面都有对应的Page class
3、在这些Page Class中维护着这个页面的元素集和操作这些元素的方法
(例如一个login_view,中,包含登录页的所有元素,和操作,如登录操作)
PO的优势
1、PO提供了一种业务流程与页面元素操作分离的模式,使得测试代码更加清晰
2、页面对象与用例分离,使得可以更好的复用对象
3、可复用的页面方法会更好优化
4、更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素
PO实例
写在最后:
PO模型只是一种设计思想,而不是一种设计规范,100个人就有100种设计方式,并且需要根据实际项目设计