2016-01-27 169 views
-2

如何驗證用戶何時點擊底部面板上的書名,他將被帶到亞馬遜網站,它將顯示具有相同標題的書籍。 )。點擊();點擊()按鈕。 現在,亞馬遜的頁面將與開放:由西德尼·謝爾頓(作者)掌握遊戲Selenium Webdriver(java)測試

+1

您需要使用所需的文本搜索頁面上的某個元素,或者也可以驗證網址 – Huy

+0

問題出在哪裏?哪裏是異常? –

回答

0

你已經得到了第一部分下來..

driver.findElement(By.linkText("Master of the Game")).click()

第二部分是驗證。如果「頁面將開放」你的意思是,標題是「由西德尼·謝爾頓遊戲大師」,那很簡單:

if (!driver.getTitle().equals("Master of the Game by Sidney Sheldon")) { 
    // test fails 
} else { 
    // test passes 
} 
+0

實際上並未確認登錄頁面是亞馬遜網頁。也許還應該提到等到頁面完全加載後再執行斷言,否則等待標題實際匹配。 –

+0

以及從OP得到的信息,這是我得到的最好的。這個問題有一個原因是被低估了。真的沒有足夠的信息來處理,但我做了我所能做的。 – sircapsalot

+0

所有的都是真的 - 我以爲我會把它放在後代。 –

0

首先,你需要點擊鏈接的文字,你可以在幾個實現方式由不同的定位器。

就像你所說的,你可以做

driver.findElement(By.linkText()「遊戲大師」)。點擊()

然後你就可以查詢新的亞馬遜頁面是否加載在同一頁面或新頁面通過

driver.getWindowHandles().length() 

如果長度爲one

if (!driver.getTitle().equals("Master of the Game by Sidney Sheldon")) { 
    // test fails 
} else { 
    // test passes 
} 

如果長度爲two

你可以嘗試

for (handle : driver.getWindowHandles) 
{ 
driver.switchTo(handle); 

} 

由於目前只有2個窗口時,它會循環的控制將是第2頁上的出來,

,並再次你可以做您的驗證與

if (!driver.getTitle().equals("Master of the Game by Sidney Sheldon")) { 
     // test fails 
    } else { 
     // test passes 
    } 

請檢查的實際方法的AI不使用編輯器,以便一些變化可能會在日被要求e代碼。

相關問題