Explicitly reset the value in case if it was cleared. Ignore the case for selecting a suggestion. Fixes vaadin/testbench#1122tags/8.7.1
@@ -52,8 +52,8 @@ public class ComboBoxElement extends AbstractSingleSelectElement { | |||
selectByTextFromPopup(text); | |||
return; | |||
} | |||
getInputField().clear(); | |||
getInputField().sendKeys(text); | |||
clear(); | |||
sendKeys(text); | |||
selectSuggestion(text); | |||
} | |||
@@ -231,6 +231,11 @@ public class ComboBoxElement extends AbstractSingleSelectElement { | |||
@Override | |||
public void clear() { | |||
getInputField().clear(); | |||
String value = getText(); | |||
if (value != null && !value.isEmpty()) { | |||
((JavascriptExecutor) getDriver()) | |||
.executeScript("arguments[0].value = ''", getInputField()); | |||
} | |||
} | |||
@Override |
@@ -147,17 +147,7 @@ public class ErrorLevelsTest extends SingleBrowserTest { | |||
} | |||
private void selectErrorLevel(ErrorLevel errorLevel) { | |||
errorLevelSelector.clear(); | |||
errorLevelSelector | |||
.sendKeys(errorLevel.toString().toLowerCase(Locale.ROOT)); | |||
errorLevelSelector.sendKeys(getReturn()); | |||
} | |||
private Keys getReturn() { | |||
if (BrowserUtil.isPhantomJS(getDesiredCapabilities())) { | |||
return Keys.ENTER; | |||
} else { | |||
return Keys.RETURN; | |||
} | |||
.selectByText(errorLevel.toString().toUpperCase(Locale.ROOT)); | |||
} | |||
} |
@@ -137,7 +137,9 @@ public class ComboBoxSelectingNewItemValueChangeTest extends MultiBrowserTest { | |||
protected void typeInputAndSelect(String input, | |||
SelectionType selectionType) { | |||
comboBoxElement.clear(); | |||
// clear() would cause an additional value change in chrome 70+ | |||
// since it always makes blur after clear() | |||
comboBoxElement.sendKeys(Keys.BACK_SPACE, Keys.BACK_SPACE, Keys.BACK_SPACE); | |||
sendKeysToInput(input); | |||
switch (selectionType) { | |||
case ENTER: |