2011-02-28 100 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字段是否已设置(不是空),如果没有,请在继续之前调用您的方法登录。