PageObjects与传统测试的优缺点
PageObjects设计模式的优点
PageObjects设计模式将页面元素和操作逻辑分开,当页面元素发生变动时,只需要修改底层查找元素的方法即可,这大大提高了代码的复用性和可维护性。
通过PageObjects设计模式,可以减少重复代码的编写,例如,很多页面都有同样的header,
footer,navigator等部分,如果对这些进行抽象,只写一次就可以在其他地方通用了。
PageObjects设计模式将测试对象及单个的测试步骤封装在每个Page对象中,以page为单位进行管理,使得程序更加面向对象,提高了程序的可读性和编写效率。
4.界面变化时,测试用例不易受到影响
当UI变化时,传统的测试用例往往需要进行较大的修改,而使用PageObjects设计模式后,测试用例本身不需要更改,只需更改PageObjects中的代码即可。
5.提供简单接口,隐藏内部逻辑
PageObjects设计模式提供了一个简单接口,让调用者在页面上可以做任何操作,如点击页面元素,在输入框输入内容等,同时隐藏了内部逻辑,使得测试脚本更加简洁和易于理解。
传统测试的缺点
传统测试的测试用例会存在大量元素和操作细节,当UI发生变化时,测试用例也需要跟着变化。
传统测试中,为了定位一个元素并进行操作,可能会在很多地方重复编写相同的代码,当元素发生变化时,这些地方都需要进行修改。
随着用例的增多,如果没有统一的模式进行规范,传统测试的自动化脚本会变得难以维护。
综上所述,PageObjects设计模式在提高代码复用性和可维护性、减少代码冗余、应对UI变化以及提供简单接口等方面具有明显优势。而传统测试在面对UI变化时较为脆弱,代码冗余较高,维护难度较大。因此,在进行UI自动化测试时,推荐使用PageObjects设计模式。