是否可以创建FirefoxProfile并传入已保存的密码?

时间:2016-11-14 08:46:39

标签: java selenium firefox selenium-webdriver firefox-profile

是否可以将密码添加到作为org.openqa.selenium.firefox.FirefoxProfile实例创建的配置文件中?

从Mozilla文档( Profiles — Where Firefox stores your bookmarks, passwords and other user data ),我可以看到Firefox将密码存储在两个文件中:

  

但无法在FirefoxProfile类中看到任何方式单独向配置文件添加密码,或传入 logins.json / key3.db等文件。 (我在链接的Mozilla页面上找不到任何东西,它们似乎是以常规用户身份存储密码,而不是以编程方式存储)

在我的Selenium测试套件中,我正在代码中创建一个Firefox配置文件,但是我必须将密码(例如,针对Dev服务器上的HTTP Basic Auth)编码为这样的URL:

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

(我知道我可以创建一个完整的配置文件并将其添加到Git中,以便传递,但如果可以,我希望避免这种情况)

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

是的,可以在firefox配置文件中创建 单击菜单按钮,然后单击ExitQuit。注意:您可以使用-P,-p或-ProfileManager(其中任何一个都可以使用)。按Return键。 Firefox配置文件管理器(选择用户配置文件)窗口应该打开。