2011-02-28 124 views
2

我目前有一個使用Selenium的Web應用程序。目前有一個認證頁面(檢查登錄/密碼)。如果成功的話,假設登錄成功,將會有一個jsp包含一個用於連接邏輯的UI。Selenium - 保存密碼

現在我想直接進入現有會話中的業務邏輯頁面。我的問題是有什麼樣的cookie或會話來跟蹤後端的情況,它可以傳遞到頁面,以便帶有任務的頁面出現。目前它只是將它重定向到用戶名作爲密碼。

+0

這是你的開發者的問題。他們是否給了你需要做的那些鉤子? – AutomatedTester 2011-03-01 08:45:24

回答

1

而不是存儲會話數據,您可以重新使用WebDriver。

如果我理解正確你,這聽起來像所有你需要做的就是/瀏覽到您想要的頁面,使用您以前用於登錄同一的webdriver。

例如,如果在您當前的設置中,您有一個成功登錄的測試,而不是退出WebDriver,您可以在某個字段中進行設置。

在類:

WebDriver driver = null; 
WebDriver loggedInDriver = null; 
@Before 
public void setupTest() { 
    driver = new FirefoxDriver(); 
} 

在其成功登錄測試:

logIn(); 
loggedInDriver = driver; 
在你的測試,需要「在現有會話」

然後 - 而不是使用新WebDriver,使用你已經放置的那個。

//driver.get(...); 
loggedInDriver.get(...); 

唯一的問題就是您的測試需要在測試前運行。您可以在測試中包含支票,該支票檢查loggedInDriver字段是否已設置(不是空),如果沒有,請在繼續之前調用您的方法登錄。