【问题标题】:how to test masking of input field functionality through webdriver如何通过 webdriver 测试输入字段功能的屏蔽
【发布时间】:2013-08-20 10:21:28
【问题描述】:

您好,我想测试密码字段是否掩盖了密码字段中输入的字符串。我如何通过 webdriver 对其进行测试。我尝试过以下事情:

package unitTest.JUnitTestCases;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class PasswordTest 
{
    @Test
    public void test()
    {
        WebDriver driver=new FirefoxDriver();
        driver.manage().window().maximize();
        driver.get("http://docs.sencha.com/extjs/4.2.1/extjs-build/examples/form/adv-vtypes.html");
        WebElement username=driver.findElement(By.id("textfield-1014-inputEl"));
        username.sendKeys("admin");
        System.out.println(username.getText());
        WebElement password=driver.findElement(By.id("textfield-1015-inputEl"));
        password.sendKeys("admin");
        System.out.println(password.getAttribute("textContent"));
        //WebElement login=driver.findElement(By.id("login"));
    }
}

在这里,我在密码字段中输入一些值并尝试获取在该字段中输入的文本,以便检查它是否被屏蔽。 蒂亚!!

【问题讨论】:

  • System.out.println(driver.findElement(By.id("textfield-1015-inputEl")).getAttribute("type")); 行是否将输出返回为“密码”?
  • 你为什么要这样做?这是浏览器屏蔽密码字段的责任。您不必测试浏览器,只需测试您的应用程序!

标签: java extjs selenium webdriver selenium-webdriver


【解决方案1】:

我不知道是否有办法做到这一点,但我对此表示怀疑。因为这对我来说是浏览器级别的事情,这意味着浏览器应该注意<input type="password">

一种解决方案是使用某种屏幕截图比较工具。

另一种解决方案是检查输入是否具有属性type="password",如果有,则可以假设您的站点生成正确,但这并不意味着浏览器可以正确处理它。

System.out.println(password.getAttribute("type").equals("password"));

请注意,password.getAttribute("value") 无论如何都会得到您输入的字符。 (就像我说的,密码屏蔽是浏览器的能力,文本将作为值存在,浏览器对用户隐藏它)

旁注:不要将By.id("textfield-1014-inputEl") 用于ExtJS。尝试使用有意义的类名,例如By.cssSelector(.x-form-type-password:nth-of-type(1) input[type="password"])

【讨论】:

  • 大家好,我们已经将我们的应用程序迁移到了这个新的 ExtJS 框架,因此只是想测试一切是否按预期工作。但是你们确定是对的吗?这是浏览器的责任,而不是密码字段屏蔽技术的责任?请纠正我,因为我对此了解不多。 TIA
猜你喜欢
  • 1970-01-01
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
  • 1970-01-01
  • 2012-08-15
相关资源
最近更新 更多