Vaadin - 从 DOM 获取输入元素值
Vaadin - get input element value from DOM
我想自动测试我的 vaadin 组件,但为此我必须以某种方式获取值并将值设置到相应的元素中。通常在 HTML DOM 你会看到这样的:
<textarea rows="4" cols="50">
At w3schools.com you will learn how to make a website. We offer free tutorials in all web development technologies.
</textarea>
但在 vaadin 中:
<input type="text" class="v-textfield v-widget v-has-width" id="first-name-text-field" aria-labelledby="gwt-uid-40" tabindex="0" style="width: 250px;">
然而这个元素可以包含与上面的文本区域相同的文本。
我遗漏了一些东西,找不到我应该 get/set 方法的地方。谷歌搜索没有帮助,官方文件似乎没有任何关于此事的内容。在这一点上我很困惑。
ps: if it helps 我想用 Selenium 测试它,但我认为这无关紧要。我想回答所有能给我指明正确方向的问题。谢谢
pss:也许 java-selenium 中实际上有方法获取元素的 getValue() 而我不需要这个 dom?
通过 setId 为组件设置 ID 后,您可以像往常一样使用 Selenium。对于文本输入,您可以调用
driver.findElement(By.id("your-id")).getAttribute("value")
获取用户输入的值。另请参阅 this 答案。
我想自动测试我的 vaadin 组件,但为此我必须以某种方式获取值并将值设置到相应的元素中。通常在 HTML DOM 你会看到这样的:
<textarea rows="4" cols="50">
At w3schools.com you will learn how to make a website. We offer free tutorials in all web development technologies.
</textarea>
但在 vaadin 中:
<input type="text" class="v-textfield v-widget v-has-width" id="first-name-text-field" aria-labelledby="gwt-uid-40" tabindex="0" style="width: 250px;">
然而这个元素可以包含与上面的文本区域相同的文本。
我遗漏了一些东西,找不到我应该 get/set 方法的地方。谷歌搜索没有帮助,官方文件似乎没有任何关于此事的内容。在这一点上我很困惑。
ps: if it helps 我想用 Selenium 测试它,但我认为这无关紧要。我想回答所有能给我指明正确方向的问题。谢谢
pss:也许 java-selenium 中实际上有方法获取元素的 getValue() 而我不需要这个 dom?
通过 setId 为组件设置 ID 后,您可以像往常一样使用 Selenium。对于文本输入,您可以调用
driver.findElement(By.id("your-id")).getAttribute("value")
获取用户输入的值。另请参阅 this 答案。