用Selenium测试Vaadin Textfield

时间:2017-03-22 07:59:57

标签: java selenium vaadin

我在Vaadin中创建了一个保存按钮和一个文本字段。保存按钮状态(启用/禁用)通过ValueChangeListener绑定到输入的文本字段。当textfield为空时,应禁用保存按钮,否则应启用它。

它在实时测试中工作正常,但Selenium没有正确设置文本。我可以看到Selenium设置了文本输入,但是没有启用保存按钮。

new Actions(getDriver()).moveToElement(wrappedElement)
    .click()
    .sendKeys(SELECT_ALL_SHORTCUT, Keys.DELETE)
    .sendKeys(wrappedElement, text)
    .sendKeys(Keys.TAB)
    .moveByOffset(1, 1)
    .perform();

我尝试了很多不同的方法来设置文本,我可以在浏览器中看到文本已设置,但保存按钮状态始终不会改变,至少它有时会起作用。

1 个答案:

答案 0 :(得分:0)

未触发textField上的焦点事件,因此在该时刻未正确设置值。触发它的最简单方法是在检查保存按钮之前执行一些其他操作,例如,您可以在其他文本字段上执行click(),这样您的textField将失去焦点并且文本将被正确存储。 另一种选择是一些javascript函数,它将触发此事件,但这是更复杂的解决方案,取决于您的页面特定实现。