3

В течение многих недель я оглядывался, и я ничего не видел, чтобы изменить местоположение, которое сохраняет профиль Firefox.Selenium 2 Firefox Профиль Изменить местоположение

Я использую определенный профиль Firefox, однако, когда тесты запускаются, сеанс создается в/tmp /. Я хотел бы, чтобы сеанс запускался в другом месте и сохранял файлы, которые он использует в таком месте, как:/var/tmp /. Есть какой-либо способ сделать это?

Примечание. Это не вопрос о том, где я получаю RemoteWebDriver для использования определенного профиля Firefox.

Edit: Я использую Selenium 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 будет работать из-за этой строки (но это также приведет к перемещению вашего каталога temp OS).

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

Мы можем сделать больше! Посмотрите на метод publicsetTemporaryDirectory!

Вы можете вызвать этот метод непосредственно перед созданием вашего FirefoxDriver и создать его копию профиля в указанном вами местоположении.

+0

Отлично, только то, что я искал. Большое спасибо. –

0

Firefox использует OS местоположение временного файла для хранения временных файлов

Вы должны изменить расположение временных файлов в Windows, в панель управления, если вы хотите использовать другое место для временных файлов.

Вы можете изменить переменные окружения% TEMP% и% TMP% и указать им временную папку, которую вы хотите использовать.

Control Panel > System > Advanced > Environment variables 

См: Firefox Support

+0

Хотя утверждения верны, и ваш совет может помочь, это по совершенно другой причине. WebDriver создает временную копию профиля firefox, с которым вы работаете, и сохраняет его в системном каталоге temp. –