1.概述
po模式是由martin flower提出的ui测试模式。selenium.dev也对这个模式进行了详细的阐述。这种思想把页面的元素操作封装成类当中的方法,在测试过程中不再需要关注页面的结构,而只需要关心执行的操作。
在没有使用po模式之前,测试函数基本上都是像这样的代码:
这样的代码实现起来非常快速方便,当时维护起来却麻烦一些。首先,当前端页面改变后,需要到处检查是否哪些代码需要改动;其次,阅读代码时只知道执行了什么操作,却不理解具体做了什么业务。
实行po模式以后,代码会分成page类和测试函数。page类中的代码:
测试函数中的写法就可以更精简:
PO模式是通过隔离页面逻辑和测试逻辑,当页面变化时不需要修改车hi用例代码,这样有以下好处
PO模式的优势:
- 页面逻辑和测试逻辑分离
- 可维护性
- 可读性
- 扩展性
- 可复用性
劣势:
PO的封装有以下一些原则,如果遵守的发会达到更好的效果,你可以在selenium.wiki上看到:
- 页面封装里不应该包含断言或者测试,否则就不能做到页面操作和测试操作分离。
- 唯一可以放在页面当中的测试是判断一个元素是否能找到。
- 不需要封装所有的页面操作,用到什么封装什么。
- 页面封装也可以使用组件方式,比如导航object,footer ob