Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Selenium Webdriver检查占位符文本_Selenium_Webdriver - Fatal编程技术网

使用Selenium Webdriver检查占位符文本

使用Selenium Webdriver检查占位符文本,selenium,webdriver,Selenium,Webdriver,我有一个文本框,当文本框不在焦点时显示占位符文本。当焦点移到此文本框时(通过将光标放在文本框中),占位符文本消失,光标出现在文本框中。我正在尝试自动化一个场景来确认这种行为。有没有人尝试过自动化类似的场景?如有任何建议,将不胜感激。谢谢,我做过类似的测试。对于具有占位符文本的字段,文本显示在元素的占位符属性中。在Ruby中,我们使用如下代码: element = @driver.find_element(*<locator string>*) expected_placeholder

我有一个文本框,当文本框不在焦点时显示占位符文本。当焦点移到此文本框时(通过将光标放在文本框中),占位符文本消失,光标出现在文本框中。我正在尝试自动化一个场景来确认这种行为。有没有人尝试过自动化类似的场景?如有任何建议,将不胜感激。谢谢,我做过类似的测试。对于具有占位符文本的字段,文本显示在元素的占位符属性中。在Ruby中,我们使用如下代码:

element = @driver.find_element(*<locator string>*)
expected_placeholder_text = element.attribute('placeholder') 

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

您可以使用webdriver的
getAttribute
方法获取占位符文本

HTML:

<input id="<ur id>" class="<ur class name>" type="password" lang="en" maxlength="30" placeholder="Enter Password" data-label="passwordPlaceholder" tabindex="5">
String Hinttext=Name.getAttribute(“占位符”);
如果(Hinttext.equals(“输入您的姓名”))
System.out.println(“显示正确的Hinttext……已通过”);
其他的
System.out.println(“未显示正确的Hinttext……已通过”);

这并没有回答如何验证实际行为的问题。你只是假设HTML5占位符将使浏览器正常工作。而且,除非你是浏览器开发团队的成员,否则为什么你需要确保浏览器正确地执行它所说的操作?你和你的团队会如何处理浏览器的bug报告,而不是它所说的那样?从另一个角度来看,如果您有一个自动测试来验证占位符属性是否存在以及是否符合应用程序代码中的预期,那么每个版本手动启动浏览器一次需要多长时间&确保文本显示?您能否在更短的时间内构建和维护自动化?
<input id="<ur id>" class="<ur class name>" type="password" lang="en" maxlength="30" placeholder="Enter Password" data-label="passwordPlaceholder" tabindex="5">
String password=driver.findElement(By.cssSelector("ur css path")).getAttribute("placeholder");