Dropdowns


selectByIndex

Description: This function will select an option from a dropdown whose index matches the given index.

Input Format : @Index of item to be selected from dropdown. Example : 0 or 1 or 2 etc.

Usage:

ObjectName Action Input Condition Reference
Object selectByIndex @value PageName << Hardcoded Input
Object selectByIndex Sheet:Column PageName << Input from Datasheet
Object selectByIndex %dynamicVar% PageName <<Input from variable

Inputs in the Input column can be either hardcoded (in this case the data is preceded by a "@"), passed from the data sheet (datasheet name : column name) or passed from a variable value (%variable name%), as given in the above example.

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Select all options from a select Element [<Object>]", input = InputType.YES)
    public void selectByIndex() {
        select(SelectType.Select, SelectRange.Single, SelectBy.Index);
    }

Internally uses the following Selenium logic :

select.selectByIndex(Integer.parseInt(Data))

selectByVisibleText

Description: This function will select an option from a dropdown whose visible text matches the given text.

Input Format : @Text of item to be selected from dropdown.

Usage:

ObjectName Action Input Condition Reference
Object selectByVisibleText @value PageName << Hardcoded Input
Object selectByVisibleText Sheet:Column PageName << Input from Datasheet
Object selectByVisibleText %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Select item in [<Object>] which has text: [<Data>]", input = InputType.YES)
    public void selectByVisibleText() {
        select(SelectType.Select, SelectRange.Single, SelectBy.Text);
    }

Internally uses the following Selenium logic :

select.selectByVisibleText(Data)

selectByValue

Description: This function will select an option from a dropdown whose value (value attribute of option HTML tag) matches the given value.

Input Format : @value attribute of item to be selected from dropdown.

Usage:

ObjectName Action Input Condition Reference
Object selectByValue @value PageName << Hardcoded Input
Object selectByValue Sheet:Column PageName << Input from Datasheet
Object selectByValue %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Select item in [<Object>] which has the value: [<Data>]", input = InputType.YES)
    public void selectByValue() {
        select(SelectType.Select, SelectRange.Single, SelectBy.Value);
    }

Internally uses the following Selenium logic :

select.selectByValue(Data)

selectMultipleByIndex

Description: This function will select all options that have index matching the given set of indices.

Input Format : @Expected index1,Expected index2

Usage:

ObjectName Action Input Condition Reference
Object selectMultipleByIndex @value PageName << Hardcoded Input
Object selectMultipleByIndex Sheet:Column PageName << Input from Datasheet
Object selectMultipleByIndex %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Select items [<Data>] of [<Object>] by index", input = InputType.YES)
    public void selectMultipleByIndex() {
        select(SelectType.Select, SelectRange.Multiple, SelectBy.Index);
    }

Internally uses the following Selenium logic :

String[] values = Data.split(",");
for (String value : values) {
    select.selectByIndex(Integer.parseInt(value));
}

selectMultipleByText

Description: This function will select all options that display the text matching the given text.

Input Format : @Expected Text1,Expected Text2

Usage:

ObjectName Action Input Condition Reference
Object selectMultipleByText @value PageName << Hardcoded Input
Object selectMultipleByText Sheet:Column PageName << Input from Datasheet
Object selectMultipleByText %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Select items [<Data>] of [<Object>] by visible Text", input = InputType.YES)
    public void selectMultipleByText() {
        select(SelectType.Select, SelectRange.Multiple, SelectBy.Text);
    }

Internally uses the following Selenium logic :

String[] values = Data.split(",");
for (String value : values) {
    select.selectByVisibleText(value);
}

selectMultipleByValue

Description: This function will select all options that have value (value attribute of option HTML tag) matching the given value.

Input Format : @Expected value1,Expected value2

Usage:

ObjectName Action Input Condition Reference
Object selectMultipleByText @value PageName << Hardcoded Input
Object selectMultipleByText Sheet:Column PageName << Input from Datasheet
Object selectMultipleByText %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Select items [<Data>] of [<Object>] by value", input = InputType.YES)
    public void selectMultipleByValue() {
        select(SelectType.Select, SelectRange.Multiple, SelectBy.Value);
    }

Internally uses the following Selenium logic :

String[] values = Data.split(",");
for (String value : values) {
    select.selectByValue(value);
}

selectIndexFromUnorderedList

Description: This function will select the value from an unordered list based on the index.

Input Format :@Index of item to be selected from dropdown. Example : 0 or 1 or 2 etc.

Usage:

ObjectName Action Input Condition Reference
Object selectIndexFromUnorderedList @value PageName << Hardcoded Input
Object selectIndexFromUnorderedList Sheet:Column PageName << Input from Datasheet
Object selectIndexFromUnorderedList %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "selecting value by index [<Data>] from unordered list .", input = InputType.YES)
    public void selectIndexFromUnorderedList() {
        selectFromUnorderedList(SelectBy.Index);
    }

selectValueFromUnorderedList

Description: This function will select the value based on the visible text from an unordered list.

Input Format : @Text of item to be selected from dropdown.

Usage:

ObjectName Action Input Condition Reference
Object selectValueFromUnorderedList @value PageName << Hardcoded Input
Object selectValueFromUnorderedList Sheet:Column PageName << Input from Datasheet
Object selectValueFromUnorderedList %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "selecting value [<Data>] from unordered list .", input = InputType.YES)
    public void selectValueFromUnorderedList() {
        selectFromUnorderedList(SelectBy.Text);
    }


deSelectByIndex

Description: This function will de-select an option that has index matching the given index.

Input Format : @Index of item to be de-selected from dropdown. Example : 0 or 1 or 2 etc.

Usage:

ObjectName Action Input Condition Reference
Object deSelectByIndex @value PageName << Hardcoded Input
Object deSelectByIndex Sheet:Column PageName << Input from Datasheet
Object deSelectByIndex %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM,
            desc = "Deselect  item in [<Object>] which has index: [<Data>]", input = InputType.YES)
    public void deSelectByIndex() {
        select(SelectType.DeSelect, SelectRange.Single, SelectBy.Index);
    }

Internally uses the following Selenium logic :

select.deselectByIndex(Integer.parseInt(Data))

deSelectByVisibleText

Description: This function will de-select an option that displays text matching the given text.

Input Format : @Text of item to be de-selected from dropdown.

Usage:

ObjectName Action Input Condition Reference
Object deSelectByVisibleText @value PageName << Hardcoded Input
Object deSelectByVisibleText Sheet:Column PageName << Input from Datasheet
Object deSelectByVisibleText %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM,
            desc = "Deselect item in [<Object>] which has text: [<Data>]", input = InputType.YES)
    public void deSelectByVisibleText() {
        select(SelectType.DeSelect, SelectRange.Single, SelectBy.Text);
    }

Internally uses the following Selenium logic :

select.deselectByVisibleText(Data)  

deSelectByValue

Description: This function will de-select an option from a dropdown whose value (value attribute of option HTML tag) matches the given value.

Input Format : @value attribute of item to be de-selected from dropdown.

Usage:

ObjectName Action Input Condition Reference
Object deSelectByValue @value PageName << Hardcoded Input
Object deSelectByValue Sheet:Column PageName << Input from Datasheet
Object deSelectByValue %dynamicVar% PageName <<Input from variable

Corresponding Code:

  @Action(object = ObjectType.SELENIUM,
            desc = "Deselect item in [<Object>] which has value: [<Data>]",
            input = InputType.YES)
    public void deSelectByValue() {
        select(SelectType.DeSelect, SelectRange.Single, SelectBy.Value);
    }

Internally uses the following Selenium logic :

select.deselectByValue(Data)

deSelectMultipleByIndex

Description: This function will de-select all options that has index matching the given indices. This is done by examining the index attribute of an element, and not merely by counting.If there is no index attribute used then use the option index by count

Input Format : @Expected index1,Expected index2

Usage:

ObjectName Action Input Condition Reference
Object deSelectMultipleByIndex @value PageName << Hardcoded Input
Object deSelectMultipleByIndex Sheet:Column PageName << Input from Datasheet
Object deSelectMultipleByIndex %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Deselect items [<Data>] of [<Object>] by index", input = InputType.YES)
    public void deSelectMultipleByIndex() {
        select(SelectType.DeSelect, SelectRange.Multiple, SelectBy.Index);
    }

Internally uses the following Selenium logic :

String[] values = Data.split(",");
for (String value : values) {
    select.deselectByIndex(Integer.parseInt(value));
}

deSelectMultipleByText

Description: This function will de-select all options that display text matching the given text.

Input Format : @Expected Text1,Expected Text2

Usage:

ObjectName Action Input Condition Reference
Object deSelectMultipleByText @value PageName << Hardcoded Input
Object deSelectMultipleByText Sheet:Column PageName << Input from Datasheet
Object deSelectMultipleByText %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Deselect items [<Data>] of [<Object>] by visible Text", input = InputType.YES)
    public void deSelectMultipleByText() {
        select(SelectType.DeSelect, SelectRange.Multiple, SelectBy.Text);
    }

Internally uses the following Selenium logic :

String[] values = Data.split(",");
for (String value : values) {
    select.deselectByVisibleText(value);
}

deSelectMultipleByValue

Description: This function will de-select all options that have value (value attribute of option HTML tag) matching the given value.

Input Format : @Expected value1,Expected value2

Usage:

ObjectName Action Input Condition Reference
Object deSelectMultipleByValue @value PageName << Hardcoded Input
Object deSelectMultipleByValue Sheet:Column PageName << Input from Datasheet
Object deSelectMultipleByValue %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Deselect items [<Data>] of [<Object>] by value", input = InputType.YES)
    public void deSelectMultipleByValue() {
        select(SelectType.DeSelect, SelectRange.Multiple, SelectBy.Value);
    }

Internally uses the following Selenium logic :

String[] values = Data.split(",");
for (String value : values) {
    select.deselectByValue(value);
}

selectAll

Description: This function will select all options from a select element.

Usage:

ObjectName Action Input Condition Reference
Object selectAll PageName

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Select all options from a select Element [<Object>]")
    public void selectAll() {
        select(SelectType.Select, SelectRange.All, null);
    }

Internally uses the following Selenium logic :

Select select = new Select(Element);
for (int i = 0; i < select.getOptions().size(); i++) {
     select.selectByIndex(i);
    }

deSelectAll

Description: This function will clear all the selected entries in a dropdown. This is only valid when there is support for multiple selections in the dropdown.

Usage:

ObjectName Action Input Condition Reference
Object deSelectAll PageName

Corresponding Code:

@Action(object = ObjectType.SELENIUM, desc = "Deselect all items in  [<Object>]")
    public void deSelectAll() {
        select(SelectType.DeSelect, SelectRange.All, null);
    }

Internally uses the following Selenium logic :

new Select(Element).deselectAll()

assertSelectContains

Description: This function will assert if the selected element from the dropdown matches the user-specified input.

Input Format : @Expected Text

Usage:

ObjectName Action Input Condition Reference
Object assertSelectContains @value PageName << Hardcoded Input
Object assertSelectContains Sheet:Column PageName << Input from Datasheet
Object assertSelectContains %dynamicVar% PageName <<Input from variable

Corresponding Code:

@Action(object = ObjectType.SELENIUM,desc = "Assert if the  select list [<Object>] contains [<Data>]",
            input = InputType.YES)
    public void assertSelectContains() {
        if (elementPresent()) {
            Boolean isPresent = false;
            Select select = new Select(Element);
            for (WebElement option : select.getOptions()) {
                if (option.getText().trim().equals(Data)) {
                    isPresent = true;
                    break;
                }
            }
            if (isPresent) {
                Report.updateTestLog(Action, ObjectName + " Contains the Option " + Data, Status.DONE);
            } else {
                Report.updateTestLog(Action, ObjectName + " doesn't Contains the Option " + Data, Status.DEBUG);
            }
        } else {
            throw new ElementException(ElementException.ExceptionType.Element_Not_Found, ObjectName);
        }
    }