2016-12-30 27 views
0

enter image description here確定哪些具有普遍頁面組成

假設頁面呼叫者我在頁面: 我點擊「創建書」鏈接,帶我到書頁的創造者,當我點擊開始預訂創建者,它返回我主頁

假設我在某個搜索結果頁面: 我點擊了「創建圖書」鏈接,將我帶到Book Creator頁面,當我點擊開始圖書創建者時,它返回我搜索結果頁面

您可以在鏈接中測試此場景

同一代碼:

public class CommonItem { 
    Class<?> Calle 
    CommonItem(Class<?> Calle) { 
     this.calle = calle; 
    } 

    public PageX clickLink() { 
     return new PageX(Class<?> Calle); 
    } 

} 



public class PageA { 
    // WebDriver driver; 
    CommonItem ci; 

    PageA() { 
     ci = new CommonItem(PageA.class); 
    } 

    public PageX commonItemClick() { 
     PageX axp = ci.clickLink(); 
     return axp; 
    } 
} 


public class PageB { 
    CommonItem ci; 

    PageB() { 
     ci = new CommonItem(PageB.class); 
    } 

    public PageX commonItemClick() { 
     PageX bxp = ci.clickLink(); 
     return bxp; 
    } 
} 


    public class PageX { 
     Class<?> calle; 
     PageX(Class<?> calle){ 
      this.calle = calle; 
     } 
    public void someLink() { 
     // Click some Link here 
     // return pageA or PageB (depends on which page called this method, How to determine?)     
     return calle; 
    } 
} 

更新-1:上面我已經實現的建議。 現在我已經測試方法 它調用pageX.someLink()方法返回網頁A或網頁B,語法將

PageX xp = pageA.commonItemClick(); 
Class<?> caller = xp.someLink(); 
// how to access method of page A via caller variable ? 
+0

將一個類 callee字段添加到CommonItem類中,更改或添加另一個構造函數以獲取此被調用字段的值並初始化它。所以你的PageA構造函數將會有新的CommonItem(PageA.class)行。現在CommonItem類知道哪個類創建了它的一個對象。 – Grasshopper

+0

在問題中添加了Update-1。不確定,如何訪問結果頁面的方法。 –

回答

0

但從您可以嘗試執行腳本「window.history.go網絡點( -1)「點擊任何鏈接或按鈕。

關於java代碼,類CommonItem可以有一個構造函數,該構造函數接受誰創建它的參數,稍後可以用它來確定後臺頁面。

相關問題