0

我正在使用 python Page Object 进行自动化。我有一个 basePageObject(ChangePasswordPage),它还有 4 个其他子页面,它们的不同之处在于页面上的字段。所有这些更改密码页面都在同一个 URL 上运行,但它们因字段而异,这取决于用例。例如一个有,旧密码字段,另一个没有,还有一个带有安全问题和答案之类的。这就是为什么我为所有这些变体创建了不同的子类。

现在我的问题是,我必须编写一个操作,递归地尝试使用给定的密码集更改密码。我不能在子更改密码页面中编写该操作,因为该递归操作需要子类的“changePassword”操作。此外,每个子类的这种递归操作是不同的。所有子类的情况都不一样。那么哪种模式最适合这种情况。我在哪里编写这个新的递归操作,如何创建新类以及如何应用 OOP 原则。

4

1 回答 1

1

It's a general question, but I think you can try the Strategy Pattern. You write the methods needed for the "change password" use cases and keep them abstract in the basePageObject. In all the ChangePasswordPageObject you implement a concrete password-changing method.
So you have basically the same method call in all cases but it performs different actions depending on the use case/password page.

于 2012-11-19T10:16:04.560 回答