2012-11-16 38 views
0

我正在使用python頁面對象進行自動化。我有一個basePageObject(ChangePasswordPage),它有4個不同的頁面上的字段的其他子頁面。所有這些更改密碼頁面都在同一個URL上運行,但它們與字段不同,並且取決於用例。比如一個有,舊密碼字段,其他沒有,再來一個安全問答就那樣。這就是爲什麼我爲所有這些變化創建不同的孩子班。設計模式/ OOP:如何將操作分爲類

現在我的問題是,我必須編寫一個遞歸操作,嘗試使用給定的密碼組更改密碼。我無法在子更改密碼頁面中寫入該操作,因爲該遞歸操作需要子類的「changePassword」操作。而且,這個針對每個子類的遞歸操作是不同的。它對所有的孩子班級都不一樣。那麼哪種模式最適合這種情況。我在哪裏編寫這個新的遞歸操作,如何創建新的類,以及如何應用OOP原則。

+6

請提供一些代碼。這裏有一些提示,你可能會遇到更多的基礎設計問題,但是如果沒有代碼,很難說出任何問題。 –

回答

1

這是一個普遍的問題,但我認爲你可以嘗試Strategy Pattern。 您編寫了「更改密碼」用例所需的方法,並將它們保留在basePageObject中。在所有的ChangePasswordPageObject你實現一個具體的密碼更改方法。
因此,您在所有情況下都具有基本相同的方法調用,但根據用例/密碼頁面執行不同的操作。