2016-11-14 57 views
2

是否可以將密碼添加到作爲org.openqa.selenium.firefox.FirefoxProfile實例創建的配置文件?是否可以創建一個FirefoxProfile並傳入保存的密碼?

從Mozilla的文檔(Profiles — Where Firefox stores your bookmarks, passwords and other user data),我可以看到,在兩個文件的Firefox存儲密碼:

但看不到任何方式在FirefoxProfile類單獨添加密碼到配置文件,或者在文件傳似logins.json/key3.db。 (我在鏈接的Mozilla頁面上找不到任何東西,這似乎是以普通用戶的身份存儲密碼,而不是編程)

在我的Selenium測試套件中,我創建了一個Firefox配置文件代碼但我有編碼的密碼(例如對於HTTP基本驗證在開發服務器)到這樣的網址:

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

(我知道我可以創建一個完整的個人資料,並添加到Git的,其傳遞的,但想避免,如果我可以)

+0

哪個版本的Firefox需要這個解決方案來支持? – MikeJRamsey56

+0

@ MikeJRamsey56,我的工作機器上安裝了FF47,所以我會說或更好 - 如果您有解決方案可以工作,例如只是最新版本,我很樂意升級! – anotherdave

+1

47.0.1之後的Firefox版本對Selenium Java的支持取決於geckodriver。您需要Selenium V3.0.2(截至撰寫本文時)。有geckodriver的問題。 「木偶和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(它們中的任何一個都可以工作)。按回車鍵。 Firefox配置文件管理器(選擇用戶配置文件)窗口應該打開。

+0

嗨阿米特,我問的是創建添加密碼到通過Selenium Java API編程創建的配置文件,而不是使用配置文件管理器手動創建配置文件 – anotherdave

+1

哦,我很抱歉@anotherdave –

相關問題