2017-10-05 54 views
0

我正在測試Polarion應用程序,經過幾分鐘的測試後會彈出會話過期和登錄窗口。Selenium會話過期後如何管理登錄窗口

會話隨機過期,因此我沒有任何固定點來停止和恢復。我的測試用例也開始失敗,因爲預期按鈕位於主窗口上,在登錄窗口出現後,該窗口變爲非活動狀態。

我的問題是Selenium提供了什麼方法來處理這種情況?

在Chrome上使用Java/TestNg中的Selenium。

+0

當你手動測試的時候會發生這種情況,如果是這樣的話,這是產品問題。你應該修復它的產品。 –

+0

我的猜測是,過期並非隨機的。它只是隨機的,因爲當它到期時你可能在任何頁面上,這也使得很難預測和處理。我的猜測是,它是由一個在固定時間後過期的cookie控制的。如果您可以識別該cookie並更改其到期時間/日期,那應該可以解決您的問題。 – JeffC

回答

0

你可以嘗試使用retryAnalyzer TestNG中的

import org.testng.Assert; 
import org.testng.annotations.Test; 

public class Test001 { 

@Test(retryAnalyzer = Tests.RetryAnalyzer.class) 
public void Test1() 
{ 
    Assert.assertEquals(false, true); 
} 

@Test 
public void Test2() 
{ 
    Assert.assertEquals(false, true); 
} 

}

的細節,你可以在下面的鏈接: -

http://toolsqa.com/selenium-webdriver/retry-failed-tests-testng/

就在重試寫一個函數檢查彈出窗口是否出現,然後調用您的登錄功能

希望它能幫助你