使用Selenium Webdriver检查占位符文本

T D*_*T D 6 selenium webdriver

我有一个文本框,当文本框不在焦点时显示占位符文本.当焦点移动到此文本框时(通过将光标放在文本框中),占位符文本将消失,光标将显示在文本框中.我正在尝试自动化确认此行为的方案.有没有人试图自动化类似的场景?任何建议,将不胜感激.谢谢

小智 7

您可以使用getAttributewebdriver 的方法获取占位符文本.

HTML:

<input id="<ur id>" class="<ur class name>" type="password" lang="en" maxlength="30" placeholder="Enter Password" data-label="passwordPlaceholder" tabindex="5">
Run Code Online (Sandbox Code Playgroud)

Java代码:

String password=driver.findElement(By.cssSelector("ur css path")).getAttribute("placeholder");
Run Code Online (Sandbox Code Playgroud)


And*_*ham 3

我做过类似的测试。对于带有占位符文本的字段,文本显示在元素上的占位符属性中。在 Ruby 中,我们使用这样的代码:

element = @driver.find_element(*<locator string>*)
expected_placeholder_text = element.attribute('placeholder') 
Run Code Online (Sandbox Code Playgroud)

这给了我们一个字符串,我们可以像任何其他字符串一样进行比较。您还可以将 element.attribute 调用缩短为

element['placeholder'] 
Run Code Online (Sandbox Code Playgroud)

也一样,但我们更喜欢前者(出于不相关且完全任意的原因)。

  • 除非您是浏览器开发团队的成员,否则为什么需要确保浏览器正确执行其规定的操作?如果浏览器未按规定执行错误报告,您和您的团队会怎么做?从另一个角度来看,如果您有一个自动化测试来验证占位符属性是否存在并且符合应用程序代码中的预期,那么每个版本手动启动浏览器一次并确保文本显示需要多长时间?您能在更短的时间内构建和维护自动化吗? (4认同)