2016-11-14 8 views
2

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

С Mozilla Docs (Profiles — Where Firefox stores your bookmarks, passwords and other user data), я могу видеть, что Firefox хранит пароли в двух файлах:

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

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

http://user:[email protected]/example.html 

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

+0

Какая версия firefox вам нужна для этого решения? – MikeJRamsey56

+0

@ MikeJRamsey56, у меня FF47 установлен на моей рабочей машине, поэтому я бы сказал, что лучше, если у вас есть решение, которое работает, например. только на последней версии я был бы рад обновить! – anotherdave

+1

Selenium Поддержка Java для версий Firefox после 47.0.1 зависит от geckodriver. Вам понадобится Selenium V3.0.2 (на момент написания этой статьи). Есть проблемы с geckodriver. «Marionette и geckodriver еще не полностью дополнены, это означает, что он еще не обеспечивает полного соответствия стандарту WebDriver или полной совместимости с Selenium». Таким образом, FF47 может быть последней версией, что что-то можно сделать. Позвольте мне поиграть с ним. – MikeJRamsey56

ответ

1

Я прочитал selenium firefoxprofile code for v53.0 и ничего не увидел. Однако вы могли бы copy those two files from the existing profile в профиль по умолчанию, созданный selenium. Вам нужно только местоположение вновь создаваемого firefoxprofile по умолчанию, которые вы можете получить (динамически) при выполнении:

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

У меня еще не было возможности попробовать это, но похоже, что это должно помочь мне в том, что мне нужно. Позор, что вы не можете сделать это через API. – anotherdave

0

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

+0

Hi Amit, я спрашивал о создании паролей для профиля, созданного программно через Selenium Java API, вместо того, чтобы вручную создавать профиль с помощью диспетчера профилей – anotherdave

+1

О, извините, @anotherdave –