2个月前,我开始使用Selenium和Page
Objects。我对这个话题也很好奇。我决定在大约1个月前使用类和静态方法。但是随着代码库的成长,我开始考虑切换到对象实例。主要原因-
对象可以具有状态。在对象上,我可以检查我是否真的在使用正确的页面。对于类,我只能假定当前的html匹配该类(或在页面对象的每个静态方法中使用断言使我的代码膨胀)。另一个原因-
自动完成。静态方法鼓励测试人员使用类,而不是类变量。因此,从中找到正确的类来调用方法变得越来越困难。对于对象,如果要调用任何方法,则必须声明一个变量。因此,您的通话能力有限。通过类和静态方法,您可以随时调用任何方法(例如,由于预期的html不可用而导致测试失败)。当您尝试教团队成员使用代码时,它开始变得很麻烦。只要您是唯一的测试作者,就可以了。



