【发布时间】:2013-05-20 14:12:19
【问题描述】:
我正在 Firefox 上使用 Webdriver 为 Web 应用程序运行一些 java 测试,试图验证“保持登录”按钮的功能。每次启动新浏览器时,都会使用新的配置文件。有没有办法指示它使用与以前相同的配置文件打开新浏览器,即登录并按下“让我登录”的那个?如果这个问题没有意义,我很抱歉,我对此还是有点陌生。
谢谢,
拉格纳
【问题讨论】:
我正在 Firefox 上使用 Webdriver 为 Web 应用程序运行一些 java 测试,试图验证“保持登录”按钮的功能。每次启动新浏览器时,都会使用新的配置文件。有没有办法指示它使用与以前相同的配置文件打开新浏览器,即登录并按下“让我登录”的那个?如果这个问题没有意义,我很抱歉,我对此还是有点陌生。
谢谢,
拉格纳
【问题讨论】:
目前这是不可能的。每次启动浏览器时,WebDriver 都会使用新的配置文件(尽管您可以使用现有的配置文件作为模型)。您可以在Selenium tracker 中提出功能请求
【讨论】:
您可以将FirefoxProfile 与现有配置文件一起使用:
FirefoxProfile profile = new FirefoxProfile(path to profile dir);
WebDriver driver = new FirefoxDriver(profile);
【讨论】:
你不能通过获取一个新的 WebDriver 实例来做到这一点。 但是您可以使用 JavaScript 来做到这一点,如下所示
((JavascriptExecutor)webDriver).executeScript("window.open('"+ConfigLocator.getTargetServer()+"', '_blank');");
【讨论】:
首先,正如 Jarib 所说,可以使用现有配置文件作为模型。这意味着不会真正加载收藏夹、历史记录、主页等特定数据。但是有可能为驱动程序设置一些特殊的系统属性。
webdriver.reap_profile
如果临时文件和配置文件不应删除
,则应为“真”System.setProperty("webdriver.reap_profile", "true");
很可能也有可能在您的情况下使用这种解决方案。
【讨论】: