如何在同一浏览器上重新运行Selenium 2.0(webdriver)测试?

时间:2011-03-21 21:28:05

标签: java login selenium webdriver

我正在尝试使用Selenium 2.0(Webdriver)来实现一系列测试。在运行这些测试之前,我必须登录该应用程序。由于应用程序不是我自己的(测试api构建的功能),因此每个测试都不应该登录到我的应用程序中运行。

我更愿意做以下事情:

  1. 将我的webdriver测试连接到我的开放式Firefox浏览器(已登录)
  2. 使用相同的浏览器运行我的webdriver项目。
  3. 据我所知,Selenium通常会为其浏览器分配会话ID。但是,Selenium 2.0驱动程序的当前Java实现没有使用会话ID(可能确实如此,但我不知道在哪里可以找到它。)

    有人可以就如何解决我的问题(现有浏览器并使用Selenium 2.0(java)运行多个测试)提供一些指导吗?提供的任何代码也会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

以下是我所学到的:

Selenium 1:正如Ioan早先建议的那样,在启动Selenium RC服务器时使用“-firefoxProfileTemplate”并指向Firefox配置文件的位置。

Selenium 2:我想您可以使用Selenium 1 RC服务器,但是,由于Selenium 2使用WebDriver,您可以指向代码中的配置文件信息。

File profileDir = new File("/Users/_____/selenium/FFprofile");
FirefoxProfile profile =
new FirefoxProfile(profileDir);
WebDriver driver = new FirefoxDriver(
    profile);

注意:

  1. 确保运行“firefox -profilemanager”来创建初始配置文件并保存您的登录信息。
  2. 允许浏览器/网站始终存储您的身份验证凭据,避免“弹出”/“登录”wwindows等。
  3. 希望这可以帮助可能遇到类似问题的人:在Selenium中使用相同的浏览器配置文件等。