2015-06-14 38 views
2

我試圖用TestNG框架selenium webdriver自動登錄功能登錄後驗證文本。我想在登錄後驗證文字,如Hi [[email protected]]未能與硒的webdriver腳本

這是在哪個環節存在頁面上的順序:

TrackOrder | Notification | Singnup | Login 

我做的方法:
我點擊登錄(出現登錄窗口),我登錄登錄 的訂單後。哪個環節存在的頁面上有:

TrackOrder | Notification | Hi[[email protected]] 

登錄後驗證文本: 我提取網頁元素Hi[[email protected]]和我們的xPath採用getText()方法來驗證實際值和預期值。

實際的問題:
當我運行腳本,它成功登錄,但是當我提取網頁元素的文本正在打印signup。雖然登錄成功完成,但它爲什麼顯示爲singup

+0

你如何獲得腳本中的用戶名元素?你能提供你試過的代碼嗎? –

+2

我正在使用dataProvider從excel表讀取用戶名 – Twiety

+0

原因是Selenium是異步的。它將所有請求排隊,然後在決定時通過它們。你可以控制這個的唯一方法是等待來自硒的回調,它說你剛剛排隊的「GetText」現在已經完成,這裏是值。該值將在回調參數中發送給您。 –

回答

0

原因打印註冊可能,要麼你給的XPath,並沒有明確標識的用戶名元素,只是給該元素旁邊通知元素,或註冊元素文本登錄後更改爲用戶名的文本。

所以,更好的創造獨特的XPath你的元素,等待使用的getText()方法之前一段時間。

Thread.sleep()方法可以,如果該元素的文本是在登錄時改變,因爲硒將在文本值改變之前執行所述方法中使用。

0

嘗試使用Web元素的絕對Xpath。