Selenium - 保存密码

时间:2011-02-28 19:27:49

标签: selenium

我目前有一个使用Selenium的Web应用程序。目前有一个用于身份验证的页面(检查登录/密码)。如果成功,有一个jsp将包含一个用于连接逻辑的UI,假设登录成功。

现在我想直接进入现有会话中的业务逻辑页面。我的问题是有些类似cookie或会话来跟踪,所以在后端它可以传递到页面,以便带有任务的页面出现。目前它只是将它重定向为用户名作为密码。

1 个答案:

答案 0 :(得分:2)

您可以重新使用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字段是否已设置(仍然不为空),如果没有,请在继续之前调用您的方法登录。