Можно ли создать FirefoxProfile и передать сохраненные пароли?

Можно ли добавить пароли в профиль, который создан как экземпляр org.openqa.selenium.firefox.FirefoxProfile?

Из документов Mozilla ( Профили - где Firefox хранит ваши закладки, пароли и другие пользовательские данные) я вижу, что Firefox хранит пароли в двух файлах:

Но не вижу никакого пути в FirefoxProfile класс для добавления паролей к профилю индивидуально или для передачи в файлы, такие как logins.json / key3.db. (Я также не могу найти ничего на связанных страницах Mozilla, которые, кажется, хранят пароли как обычный пользователь, а не программно)

В моем наборе тестов Selenium я создаю профиль Firefox на лету в коде, но мне приходится кодировать пароли (например, для HTTP Basic Auth на серверах Dev) в URL-адреса, подобные следующим:

http://user:pass@localhost/example.html

(Я знаю, что мог бы создать целый профиль и добавить его в Git, чтобы обмениваться им, но хотел бы избежать этого, если смогу)

2 ответа

Я прочитал код селен firefoxprofile для v53.0 и не увидел ничего очевидного. Однако вы можете скопировать эти два файла из существующего профиля в профиль по умолчанию, созданный selenium. Вам нужно только местоположение только что сгенерированного файла firefoxprofile по умолчанию, которое вы можете получить (динамически) при выполнении:

FirefoxProfile profile = new FirefoxProfile();
System.out.println(">> path to profile=" + profile.layoutOnDisk().getAbsolutePath());
// Copy the two files
WebDriver driver = new FirefoxDriver(profile);

Да, это можно создать в профиле Firefox. Нажмите кнопку меню и затем нажмите ExitQuit . Примечание. Вы можете использовать -P, -p или -ProfileManager (любой из них должен работать). Нажмите Return. Должно открыться окно Firefox Profile Manager (Выбрать профиль пользователя).

Другие вопросы по тегам