2011-06-16 29 views
3

我正在使用perl庫WWW :: Selenium編寫一些Selenium RC測試。在測試開始時,我需要使用我的用戶名和密碼登錄到Web表單。如何在Selenium RC窗口中禁止顯示密碼

我注意到我的密碼顯示在Selenium Remote Control「Command History」窗口中,顯示爲type(password, secret)

有什麼辦法可以壓制顯示密碼嗎?也許有一個非type我可以使用的命令?

回答

0

不幸的是沒有。您可以進入Selenium核心,並在找到名爲password的字段時將其更改爲顯示*******

雖然小心調試

0

時,我想我們可以做到這一點使用本地方法的支持,這可能過不去。

從邏輯上看,硒中的每個本地方法都會發送到操作系統而不是瀏覽器。 所以,如果你使用任何的本地方法,流程是這樣的:

Client Program ----> Selenium RC server ----> to the operating system (in Java this is done using Robot Class) 

但是,所有的其他非本地方法流程是這樣的:

Client Program ----> Selenium RC server ----> to the Browser 

所以,命令歷史記錄窗口在瀏覽器級別運行,本地方法不會到達那裏。

下面是代碼:

selenium.focus("locator"); 
selenium.keyPressNative("key code"); // this will not be shown in command history 

這裏的關鍵代碼只有一個字符,如果你想要的字符串(多個字符),我們應該依靠我們的客戶端程序來實現邏輯。

我在之前對其他帖子的回覆中給出了該代碼。如果您需要個性化發佈我們的確切要求,以便我可以根據您的需求定製代碼。

+0

這幾乎可行。我使用Perl和WWW :: Selenium。我在命令行中提示輸入密碼並將密碼存儲在一個變量中。然後我使用'key_press_native'輸入密碼。但是,腳本終止後,我的密碼顯示爲在命令行鍵入,使我的密碼可見。這隻發生在我使用'key_press_native'時。 – rlandster 2011-06-17 16:14:25

+0

我認爲通過'key_press_native'鍵入的鍵被放入輸入緩衝區。 (我正在運行Windows,以防萬一。) – rlandster 2011-06-17 16:27:07

+0

我認爲「提前輸入」問題實際上是Firefox未能獲得重點,因此,當發生'key_press_native'時,按鍵將進入我的控制檯窗口,而不是Firefox瀏覽器。 – rlandster 2011-06-17 21:48:02

相關問題