0
在我的應用程序中,記錄頁面有一個「返回」按鈕。該頁面可以從主頁或記錄列表頁面訪問;後退按鈕應該返回到上一頁。後退方法應該返回什麼?什麼頁面對象從頁面對象返回動作返回
一種方法是將一個參數傳遞給RecordPageObject
,以便它跟蹤當按下返回時它應該返回的內容。 類RecordPageObject {
T back(Class<T> returnPageObjecType) {
click("Back"); // some function to click on Back button.
if (comingFromHome) {
return (T) PageObjectFactory.createHomePageObject();
} else {
return (T) PageObjectFactory.createListPageObject();
}
}
}
在這種情況下,調用代碼將是:
// calling code
HomePageObject currentPage = RecordPageObject.back(HomePageObject.class);
選項2是僅在back()
功能做click("Back")
和如下寫調用代碼:
RecordPageObject rec = .... // something to land on RecordPage
rec.back();
HomePageObject currentPage = PageObjectFactory.createHomePageObject();
我想,還有一個選擇是將PageObject的類型作爲泛型參數傳遞給RecordPageObject<T>
,並且sto將其視爲會員。這將使我們免於在back()
函數中傳遞該值。
簡單的答案是:使調用函數跟蹤它。更復雜的答案在於繼承和「接口」。 – SiKing 2014-10-16 21:06:02