3

幾周以來,我一直在環顧四周,我沒有看到任何關於更改Firefox個人資料保存位置的問題。Selenium 2 Firefox個人資料更改位置

但是,當測試運行會話時,我正在使用特定的Firefox配置文件在/ tmp /中創建。我希望會話在不同的位置啓動,並將它在以下位置使用的文件保存在/ var/tmp /中。有沒有辦法做到這一點?

注意:這不是一個問題,我不知道RemoteWebDriver在哪裏使用特定的Firefox配置文件。

編輯:我使用的硒2.28和Firefox 15.0.1

回答

3

FirefoxProfile:442

File profileDir = TemporaryFilesystem.getDefaultTmpFS() 
      .createTempDir("anonymous", "webdriver-profile"); 
copyModel(model, profileDir); 

TemporaryFilesystem需要it's location from "java.io.tmpdir":,這通常指向系統的臨時目錄。 Santoshsarma的解決方案將工作,因爲這條線(但它也將移動您的操作系統臨時目錄)。

private static File sysTemp = new File(System.getProperty("java.io.tmpdir")); 

我們可以做的更多!看看public方法setTemporaryDirectory

您可以在實例化FirefoxDriver之前調用此方法,並且應該在您指定的位置創建它的配置文件副本。

+0

太棒了,就是我在找的東西。非常感謝。 – 2013-02-28 17:29:46

0

Firefox使用的操作系統的臨時文件的位置存儲臨時文件

您需要更改臨時文件的位置,在Windows中控制面板如果你想使用其他位置的臨時文件。

您可以更改%TEMP%和%TMP%環境變量,並使它們指向您要使用的臨時文件夾。

Control Panel > System > Advanced > Environment variables 

參見:Firefox Support

+0

儘管陳述是真實的,並且您的建議可能會有所幫助,但這是出於完全不同的原因。 WebDriver製作你正在使用的Firefox配置文件的臨時副本 - 並將其保存到系統臨時目錄中。 – 2013-02-28 12:27:40