我们正在自动化网络测试,并希望验证文本区域中的内容。
我们想从用户角度检查实际显示的内容。它是放置在占位符还是由用户/测试用例输入并不重要。我们使用html5占位符属性。
如果文本是通过占位符输入的,则 $("textarea").text()
不会给我任何内容。
尝试了$("textarea").val()
,但它给了我与使用.text()
相同的行为。
我们可以编写像if ( text is empty ) { look at placeholder }
这样的逻辑但是感觉不对,因为它不能确定文本区域中实际显示的内容。我想有一个替代使用逻辑。否则我们假设浏览器使用我们在测试中实现的相同逻辑。
有什么想法吗?
答案 0 :(得分:2)
你的意思是由js插件添加的html5占位符或占位符?
如果是案例1,我想这可以帮助:
var text = $("textarea").val() || $("textarea").attr('placeholder')
答案 1 :(得分:0)
试试这个:
var t = document.getElementsByTagName('textarea')[0];
var text = t.value || t.getAttribute("placeholder") || "";