几个星期以来,我一直在环顾四周,但没有看到任何有关更改 Firefox 配置文件保存位置的信息。
我正在使用特定的 Firefox 配置文件,但是,当测试运行时,会话是在 /tmp/ 中创建的。我希望会话在不同的位置启动,并将它使用的文件保存在如下位置:/var/tmp/。有没有办法做到这一点?
注意:这不是关于我在哪里让 RemoteWebDriver 使用特定 Firefox 配置文件的问题。
编辑:我正在使用 Selenium 2.28 和 Firefox 15.0.1
几个星期以来,我一直在环顾四周,但没有看到任何有关更改 Firefox 配置文件保存位置的信息。
我正在使用特定的 Firefox 配置文件,但是,当测试运行时,会话是在 /tmp/ 中创建的。我希望会话在不同的位置启动,并将它使用的文件保存在如下位置:/var/tmp/。有没有办法做到这一点?
注意:这不是关于我在哪里让 RemoteWebDriver 使用特定 Firefox 配置文件的问题。
编辑:我正在使用 Selenium 2.28 和 Firefox 15.0.1
File profileDir = TemporaryFilesystem.getDefaultTmpFS()
.createTempDir("anonymous", "webdriver-profile");
copyModel(model, profileDir);
TemporaryFilesystem
它的位置来自"java.io.tmpdir"
:,通常指向系统的临时目录。由于这条线,Santoshsarma 的解决方案将起作用(但它也会移动您的操作系统临时目录)。
private static File sysTemp = new File(System.getProperty("java.io.tmpdir"));
我们可以做得更多!看公共方法setTemporaryDirectory
!
您可以在实例化之前调用此方法FirefoxDriver
,它应该在您指定的位置创建它的配置文件副本。
Firefox 使用操作系统临时文件位置来存储临时文件
如果您想为临时文件使用其他位置,则需要在 Windows 的控制面板中更改临时文件的位置。
您可以更改 %TEMP% 和 %TMP% 环境变量并使它们指向您要使用的临时文件夹。
Control Panel > System > Advanced > Environment variables
参考:火狐支持