Python 设计模式/OOP:如何将操作拆分为类
我正在使用python页面对象实现自动化。我有一个basePageObject(ChangePasswordPage),它还有4个子页面,这4个子页面根据页面上的字段而有所不同。所有这些更改密码页面都在相同的URL上运行,但它们因字段而异,这取决于用例。例如,一个有,旧的密码字段,另一个没有,同样还有一个安全问题和答案,诸如此类。这就是为什么我为所有这些变体创建了不同的子类Python 设计模式/OOP:如何将操作拆分为类,python,oop,design-patterns,selenium,pageobjects,Python,Oop,Design Patterns,Selenium,Pageobjects,我正在使用python页面对象实现自动化。我有一个basePageObject(ChangePasswordPage),它还有4个子页面,这4个子页面根据页面上的字段而有所不同。所有这些更改密码页面都在相同的URL上运行,但它们因字段而异,这取决于用例。例如,一个有,旧的密码字段,另一个没有,同样还有一个安全问题和答案,诸如此类。这就是为什么我为所有这些变体创建了不同的子类 现在我的问题是,我必须编写一个操作,递归地尝试使用给定的密码集更改密码。我无法在child change password
现在我的问题是,我必须编写一个操作,递归地尝试使用给定的密码集更改密码。我无法在child change password页面中编写该操作,因为该递归操作需要子类的“changePassword”操作。此外,每个子类的递归操作是不同的。这对所有的子类来说都不一样。那么,哪种模式最适合这种情况。我应该在哪里编写这个新的递归操作,如何创建新的类,如何应用OOP原则。这是一个一般性的问题,但我认为您可以尝试以下方法。 您编写“更改密码”用例所需的方法,并在
basePageObject
中保持它们的抽象性。在所有的ChangePasswordPageObject
中,您实现了一种具体的密码更改方法。因此,在所有情况下,基本上都有相同的方法调用,但根据用例/密码页的不同,它执行不同的操作。请提供一些代码。这里有一些提示,您可能会遇到更基本的设计问题,但如果没有代码,就很难说出任何事情。