嗨,我需要自动化一个场景,其中有一个文本输入字段,其中显示一个文本 - “在此处输入”。
<input class="textbox" type="text" value="" placeholder="type here" name="q">
我需要验证 1) 显示文本 - “在此处输入” 2) 当焦点移动到此文本字段时,文本输入字段不显示 - “在此处输入”
您可以通过简单的 JavaScript 测试浏览器是否支持元素的placeholder
属性。<input>
这是一个间接测试,但据我所知,您无法通过 Selenium 测试占位符文本。但这应该是绝对足够的:
function supportsInputPlaceholder() {
var input = document.createElement('input');
return 'placeholder' in input;
}
(取自http://diveinto.html5doctor.com/detect.html#input-placeholder)
所以:
// only if your driver supports JS
JavascriptExecutor js = (JavascriptExecutor)driver;
String placeholderTest = "return 'placeholder' in document.createElement('input')";
assertTrue(js.executeScript(placeholderTest));