Geb:text()vs value()

时间:2015-07-13 07:15:36

标签: geb

使用Geb text()vs value()只是一个小小的澄清。

根据Geb文件:

  

值文本被特别视为与节点文本的匹配。

对于value():

  

调用不带参数的value()将返回导航器中第一个元素的String值。

根据我的理解,通过反复试验,text()可用于检查/设置特定元素中的文本内容,EXCEPT表单元素。 value()用于检查/设置表单元素的内容。

assertThat($("h1").text()).isEqualTo("Geb")      // will work
assertThat($("input").value()).isEqualTo("Geb")  // will work
assertThat($("input").text()).isEqualTo("Geb")   // will not work

这是对的吗?还是有更大的区别?我在文档中找不到任何实质性的描述。

提前致谢!

1 个答案:

答案 0 :(得分:4)

您不能使用text()设置任何内容,它只返回第一个元素的文本内容。它基本上委托给WebElement.getText()

您引用的文字:

  

值文本被特别视为与节点文本的匹配。

使用属性选择器,如`$(“div”,text:“Lorem ipsum ...”)。

是的,value()value(Object)可用于检索和设置输入的值/文本。