WebUI 自动化测试的经典设计模式:PO
先来看下未使用 PO(PageObject) 设计模式下的代码,以网页版百度登录为例来说明。
非 PO(PageObject) 模式下的代码如下,所有内容全部写在一个方法里。
存在的问题:
PO(PageObject) 模式优化后的代码
1、WebUI 自动化需要的 driver 基础操作
2、登录页面元素获取
3、登录逻辑业务的封装
4、登录测试用例将使用以上3个页面对象
可以发现,使用 PO(PageObject) 模式优化后的代码,有以下明显优势:
1)、将以下3个模块进行了单独封装 降低了模块之间的耦合度,使层次更加清晰合理,便于后期维护与复用:
2)、如果前端页面有 定位元素的 type 或 value 发生变化时,只需要修改 elements.py 文件中元素信息即可 ,不需要在测试业务模块中进行修改。