2013-12-19 88 views
1

使用Java和webdriver,我試圖設置一個測試來驗證我輸入的密碼是否被屏蔽。使用我的工具,我們有一個設置可以讓您屏蔽密碼或顯示文本。我想知道是否有人用Selenium驗證過這樣的東西。我可以驗證輸入字段是否被屏蔽或顯示文本?

這是我想檢查 設置關閉什麼 - 類型分爲輸入字段,並驗證文本顯示 設置開啓 - 類型分爲輸入字段,並驗證我的輸入是蒙面

我認爲瀏覽器處理掩蔽,所以我不確定我是否可以做這個測試或不。輸入字段的元素沒有任何關於掩碼的屬性。

感謝您的幫助

回答

0

檢查type財產,如果輸入的,如果它是text文本沒有被屏蔽,如果是password它被屏蔽。

+0

是的,但我認爲OP想要進一步驗證 – sircapsalot

0

因此,假設你有你的輸入字段如下

<input id="pw" type="password" blah> 

可以檢查該字段做

WebElement password = driver.findElement(By.id("pwd")); 
if (password.getAttribute("type") == "password"){ 
    // if it is, do something 
}else { 
    // not masked 
} 
0

屏蔽(我的GitHub頁面正在他們甜蜜的時間更新)這是您可以嘗試HTML:

<input type="text" id="regular" /> 
<input type="password" id="masked" /> 

並使用Getting Started with Selenium幀工作,你的測試看起來像這樣來驗證,以確保該領域確實掩蓋。

@Config(browser = Browser.CHROME, url = "http://ddavison.github.io/tests/maskedtextbox.htm") 
public class MaskedText extends AutomationTest { 
    @Test 
    public void testMasked() { 
     // validate that the regular text box is not masked. 
     setText   (By.id("regular"), "Unmasked") 
     .validateText (By.id("regular"), "Unmasked") // validate that this isn't masked. 

     .setText  (By.id("masked"), "Masked") 
     .validateTextNot(By.id("masked"), "Masked") // validate that the text is not "Masked" if it is, then it isn't masking correctly. 
     ; 
    } 
} 

validateTextNot被調用時,它會得到該字段的文本,它將返回******Masked.equal說。