0

我们正在自动化 Web 测试,并希望验证文本区域中的内容。

我们想从用户的角度检查实际显示的内容。它是用占位符放置在那里还是由用户/测试用例输入都没有关系。我们使用 html5 占位符属性。

$("textarea").text()如果文本是通过占位符输入的,则不会给我任何东西。

尝试过$("textarea").val(),但它给了我与使用相同的行为.text()

我们可以编写类似的逻辑,if ( text is empty ) { look at placeholder }但感觉不对,因为它无法确定文本区域中实际显示的内容。我想有一个替代使用逻辑。否则,我们假设浏览器使用我们在测试中实现的相同逻辑。

有任何想法吗?

4

2 回答 2

2

你的意思是html5占位符还是js插件添加的占位符?

如果是第一种情况,我想这会有所帮助:

var text = $("textarea").val() || $("textarea").attr('placeholder')

演示:http: //jsfiddle.net/mJkFc/

于 2013-02-06T10:10:57.217 回答
0

尝试这个:

var t = document.getElementsByTagName('textarea')[0];
var text = t.value || t.getAttribute("placeholder") || "";
于 2013-02-06T10:11:03.300 回答