diff options
Diffstat (limited to 'testbench-api')
4 files changed, 58 insertions, 6 deletions
diff --git a/testbench-api/src/main/java/com/vaadin/testbench/elements/AbstractSingleSelectElement.java b/testbench-api/src/main/java/com/vaadin/testbench/elements/AbstractSingleSelectElement.java new file mode 100644 index 0000000000..c66e736a1d --- /dev/null +++ b/testbench-api/src/main/java/com/vaadin/testbench/elements/AbstractSingleSelectElement.java @@ -0,0 +1,47 @@ +/* + * Copyright 2000-2016 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.testbench.elements; + +import com.vaadin.testbench.elementsbase.ServerClass; + +/** + * A common base element class for all single select components. + * + * @since 8.1.1 + */ +@ServerClass("com.vaadin.ui.AbstractSingleSelect") +public abstract class AbstractSingleSelectElement + extends AbstractSelectElement { + + /** + * Selects the first option in this single select component that matches the + * given text. + * + * @param text + * the text to select by + */ + public abstract void selectByText(String text); + + /** + * Return value of this single select component. + * <p> + * <strong>Note:</strong> If there is no value selected the behavior of + * subclasses varies. Pay attention on the actual implementation. + * + * @return the value + */ + public abstract String getValue(); +} diff --git a/testbench-api/src/main/java/com/vaadin/testbench/elements/ComboBoxElement.java b/testbench-api/src/main/java/com/vaadin/testbench/elements/ComboBoxElement.java index 11b823e656..2eaef4f015 100644 --- a/testbench-api/src/main/java/com/vaadin/testbench/elements/ComboBoxElement.java +++ b/testbench-api/src/main/java/com/vaadin/testbench/elements/ComboBoxElement.java @@ -28,7 +28,7 @@ import com.vaadin.testbench.TestBenchElement; import com.vaadin.testbench.elementsbase.ServerClass; @ServerClass("com.vaadin.ui.ComboBox") -public class ComboBoxElement extends AbstractSelectElement { +public class ComboBoxElement extends AbstractSingleSelectElement { private static org.openqa.selenium.By bySuggestionPopup = By .vaadin("#popup"); @@ -199,7 +199,7 @@ public class ComboBoxElement extends AbstractSelectElement { } /** - * Return value of the combo box element + * Return value of the combo box element. * * @return value of the combo box element */ diff --git a/testbench-api/src/main/java/com/vaadin/testbench/elements/NativeSelectElement.java b/testbench-api/src/main/java/com/vaadin/testbench/elements/NativeSelectElement.java index d932af1966..f6b0426c3e 100644 --- a/testbench-api/src/main/java/com/vaadin/testbench/elements/NativeSelectElement.java +++ b/testbench-api/src/main/java/com/vaadin/testbench/elements/NativeSelectElement.java @@ -17,6 +17,7 @@ package com.vaadin.testbench.elements; import java.util.List; +import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.Select; @@ -25,7 +26,7 @@ import com.vaadin.testbench.TestBenchElement; import com.vaadin.testbench.elementsbase.ServerClass; @ServerClass("com.vaadin.ui.NativeSelect") -public class NativeSelectElement extends AbstractSelectElement { +public class NativeSelectElement extends AbstractSingleSelectElement { private Select select; private WebElement selectElement; @@ -70,9 +71,13 @@ public class NativeSelectElement extends AbstractSelectElement { /** * Return value of the selected item in the native select element. * - * @return value of the selected item in the native select element + * @return value of the selected item + * + * @throws NoSuchElementException + * if no value is selected */ - public String getValue() { + + public String getValue() throws NoSuchElementException { return select.getFirstSelectedOption().getText(); } diff --git a/testbench-api/src/main/java/com/vaadin/testbench/elements/RadioButtonGroupElement.java b/testbench-api/src/main/java/com/vaadin/testbench/elements/RadioButtonGroupElement.java index 4feeaae6ff..4cff189ea7 100644 --- a/testbench-api/src/main/java/com/vaadin/testbench/elements/RadioButtonGroupElement.java +++ b/testbench-api/src/main/java/com/vaadin/testbench/elements/RadioButtonGroupElement.java @@ -25,7 +25,7 @@ import com.vaadin.testbench.TestBenchElement; import com.vaadin.testbench.elementsbase.ServerClass; @ServerClass("com.vaadin.ui.RadioButtonGroup") -public class RadioButtonGroupElement extends AbstractSelectElement { +public class RadioButtonGroupElement extends AbstractSingleSelectElement { private static org.openqa.selenium.By bySelectOption = By .className("v-select-option"); |