是否可以将密码添加到作为org.openqa.selenium.firefox.FirefoxProfile
实例创建的配置文件中?
从Mozilla文档( Profiles — Where Firefox stores your bookmarks, passwords and other user data ),我可以看到Firefox将密码存储在两个文件中:
- 密码:您的密码存储在 key3.db 和 logins.json 文件中。有关详细信息,请参阅Password Manager - Remember, delete, change and import saved passwords in Firefox。
但无法在FirefoxProfile
类中看到任何方式单独向配置文件添加密码,或传入 logins.json / key3.db等文件。 (我在链接的Mozilla页面上找不到任何东西,它们似乎是以常规用户身份存储密码,而不是以编程方式存储)
在我的Selenium测试套件中,我正在代码中创建一个Firefox配置文件,但是我必须将密码(例如,针对Dev服务器上的HTTP Basic Auth)编码为这样的URL:
http://user:pass@localhost/example.html
(我知道我可以创建一个完整的配置文件并将其添加到Git中,以便传递,但如果可以,我希望避免这种情况)
答案 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配置文件管理器(选择用户配置文件)窗口应该打开。