【问题标题】:How should I approach the html placeholder attribute scenario automation with webdriver我应该如何使用 webdriver 处理 html 占位符属性场景自动化
【发布时间】:2012-11-27 21:26:40
【问题描述】:

您好,我需要自动化一个场景,其中有一个文本输入字段,其中一个文本 - 显示“在此处输入”。

<input class="textbox" type="text" value="" placeholder="type here" name="q">

我需要验证 1) 显示文本 - “在此处输入” 2)当焦点移到这个文本字段时,文本输入字段不显示 - “在这里输入”

【问题讨论】:

  • 您是否已经尝试过使用 driver.webelement.getText()?
  • 或者:我应该如何测试带有“占位符”元素的输入字段?

标签: selenium webdriver


【解决方案1】:

您可以通过简单的 JavaScript 测试浏览器是否支持 &lt;input&gt; 元素的 placeholder 属性。这是一个间接测试,但据我所知,您无法通过 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));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多