我可以验证输入字段是否被屏蔽或显示文本?

时间:2013-12-19 17:12:32

标签: java selenium

使用Java和webdriver,我正在尝试设置测试以验证我键入的密码是否被屏蔽。使用我的工具,我们有一个设置,允许您屏蔽密码或显示文本。我想知道是否有人用Selenium验证过这样的东西。

这是我要检查的内容 设置为OFF - 键入输入字段并验证是否显示文本 设置为 - 键入输入字段并验证我的输入是否被屏蔽

我相信浏览器处理屏蔽,所以我不确定我是否可以进行此测试。输入字段的元素没有任何关于屏蔽的属性。

感谢您的帮助

3 个答案:

答案 0 :(得分:0)

检查type属性是否输入,如果text文本未被屏蔽,是否password被屏蔽。

答案 1 :(得分: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
}

答案 2 :(得分: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