2017-09-21 45 views
0

腳本執行期間網站會話過期。我有4個有15-16個測試方法的類。而我使用testing.xml作爲套件執行所有操作。腳本執行期間瀏覽器會話過期

方案:用戶登錄後,執行搜索

我使用以下條件

if(check user is already login) 
{ 
    if(check user is on homepage URL) 
    { 
     // if user is already on homepage then perform search 
    } 
    else 
    { 
     //here my code is first navigate the page to homepage and then perform search. 
     But the session get destroy once it navigate to home page here and the test get failed as 
    } 
} 
else 
{ 
    // not login then first do login and then perform search 
} 

所以我的問題是:

  1. 這是我的網站的問題或問題的webdriver?
  2. 爲什麼會話在頁面導航中註銷?我試過driver.get()driver.navigate().to()但沒有成功。

如果遇到這樣的問題,有人能給我提示嗎?

+1

這就是你的Web服務可能會如何維護會話。 – nullpointer

+1

您需要檢查會話中斷的原因,這可能是您的網站問題,也可能是因爲某種原因設計的。因此,首先自己想出 –

+1

您還沒有提供[mcve],我們可以在此重新制作問題。 – JeffC

回答

-1

沒有更多的代碼很難說實際的問題是什麼,但是你有一個邏輯/ DRY問題。根據代碼中的註釋,您可以在3個不同的地方找到您的搜索代碼。更好的邏輯流程將會是這樣的

if (user is not logged in) 
{ 
    // log in 
} 
if (browser is not on homepage URL) 
{ 
    // navigate to home page 
} 
// now you can do the search 

問題的一部分可能是您似乎重複使用會話。您需要檢查用戶是否已登錄或在主頁上顯示的事實表明,您不知道測試在任何給定點上的位置。

編寫此測試的更好方法是創建一個實例化瀏覽器,導航到主頁,登錄用戶,執行搜索並關閉瀏覽器的單個測試。這是一個測試。如果您需要使用不同的搜索條件重複該測試,則可以執行數據驅動的測試。通過這樣的小測試可以更容易地知道腳本正在做什麼,並且不太可能出現會話超時等問題。

+1

他已經完成了同樣的工作 – iamsankalp89

+0

@ iamsankalp89他做了什麼? – JeffC

+0

@JeffC,無論你想說什麼,我都已經做完了 – NarendraR

相關問題