2011-03-21 90 views
1

我想用Selenium 2.0(Webdriver)来实现一系列的测试。在这些测试运行之前,我必须登录到应用程序。由于该应用程序不是我自己的(测试api-built功能),每个测试都不应该登录到我的应用程序中运行。如何在同一浏览器上重新运行Selenium 2.0(webdriver)测试?

我宁愿做到以下几点:

  1. 我webdriver的测试连接到我的Firefox浏览器(已的loggedIn)
  2. 运行我的webdriver项目相同的浏览器。

据我了解,硒通常是一个会话ID分配给它的浏览器。然而,目前的Selenium 2.0驱动程序的Java实现并没有使用会话ID(也许它的确如此,但我不知道在哪里可以找到它)。

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

+1

不知道是否有帮助,但如果你想达到什么是不必每次运行测试时重新登录,你可以尝试设置firefox配置文件。在硒1,你可以使用-firefoxProfileTemplate“路径轮廓”,并设置一个特定的Firefox配置文件(这样就记住了身份验证cookie从一个运行到另一个) – 2011-03-21 22:33:03

+0

谢谢!我会尝试这种方法。是的,我想如果我保存cookie并在每次运行中重新使用它们,我都不会遇到这个问题。 – nivas 2011-03-22 15:37:03

+0

这将有助于得到解决https://stackoverflow.com/questions/19690157/how-to-use-a-already-opened-firefox-for-testing-in-selenium希望 – 2017-06-25 14:31:06

回答

1

以下是我已经学会:

硒1:正如前面伊万建议,启动Selenium RC服务器并指向你的Firefox配置文件的位置时,用“-firefoxProfileTemplate”。

硒2:我想你可以使用硒1 RC服务器,但是,因为硒2使用webdriver的,你可以指向你的代码中的配置文件信息。

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

注:

  1. 确保您运行“火狐-profilemanager”创建初始配置文件并保存您的登录信息。
  2. 允许浏览/网站总是存储您的身份验证凭据,避免“弹出” /“登录” wwindows,ETCS。

希望这有助于谁可能会遇到类似的问题,有人:使用硒同一个浏览器配置文件等

+0

感谢Nivas,这只是帮助我。还有一个FirefoxProfileManager,您可以使用它来获取配置文件集合,然后将其中一个传递给FirefoxDriver构造函数。这将避免对文件位置进行硬编码 – 2011-04-22 19:46:35

相关问题