这两天看到一些文章在说Page Object模式以及Page Factory用于分离页面元素定位和业务逻辑,其根本原因在于由于页面元素信息可能会有变动,导致在定位该元素的时候需要做相应的更改,而用了这种设计模式后,只需要在相应的PO类里进行更改就可以了,这样可以大幅度减少冗余代码,但是该类是以页面为一个class,可是这种模式真的好吗?针对实际的UI经验提出了以下几点,并会后续给出了目前在用的方式:
1. 页面元素个数众多,种类众多的情况下
2. 同一个元素存在不同的页面,其id,name信息相同
3. 页面较多的情况
4. 页面及页面元素用户可以自定义的情况下,现在很多的产品都有一个base的,用户可以在此基础上进行二次开发,添加自己想要的页面及页面元素,如图:

那针对上述四种方式,PO如果以页面来划分类,就显得比较笨重,同样会加大代码的维护
本文探讨了PageObject模式在页面元素众多、同一元素不同页面、页面自定义等情况下面临的问题,提出该模式可能并不总是最佳实践。
960

被折叠的 条评论
为什么被折叠?



