You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自动化测试中如何获取密码输入框真实文本而非星号?

密码输入框真实值获取方案

浏览器出于安全机制,会对密码输入框的真实值进行隐藏,无论是Text属性还是GetAttribute("value"),返回的都是掩码字符(如*),这是浏览器的默认行为,并非测试框架的问题。

针对你的需求,有以下几种可行方案:

  • 优先采用业务场景验证:跳过直接验证输入框内容,转而验证提交密码后的业务结果(比如成功登录系统、进入指定页面),这比单纯验证输入框值更符合自动化测试的核心目标。
  • 临时修改DOM属性获取真实值:通过执行JavaScript将密码框的type属性临时改为text,即可获取真实输入值,示例代码如下:
    // 转换密码框为文本框
    IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
    js.ExecuteScript("arguments[0].type='text';", _passwordInput);
    // 断言真实值
    Assert.AreEqual(_passwordInput.GetAttribute("value"), user.Password);
    // 可选:测试完成后恢复密码框类型
    js.ExecuteScript("arguments[0].type='password';", _passwordInput);
    
  • 长度比较作为备选:这是最简易但最不严谨的方案,无法覆盖长度相同但内容不同的错误输入场景,仅建议在无其他方案时临时使用。

内容的提问来源于stack exchange,提问作者NotMe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 07:15:34