Как утверждать, если выбран вариант из выпадающего списка.Селен.Объектная модель страницы - PullRequest
0 голосов
/ 29 января 2019

Мне нужно выбрать опцию из выпадающего списка и проверить, выбран ли этот параметр для пользователя.Код для выбора варианта:

@FindBy(how = How.ID, using = "id_state")
public WebElement StateDropDown;

 public void ChooseState(String index){
    Select Choose = new Select(StateDropDown);
    Choose.selectByVisibleText(index);

Это мой выпадающий список:

<select name="id_state" id="id_state" class="form-control">
<option value="">-</option>
<option value="1">Alabama</option>
<option value="2">Alaska</option>
<option value="3">Arizona</option>
<option </select>

Я хочу выбрать «Алабама» и использовать assert, чтобы проверить, действительно ли выбран «Алабама».Я понимаю, что мне нужно написать функцию, которая отправляет имя выбранного состояния в строку.Утверждаю, что это будет включено здесь:

@Then("^I see \"([^\"]*)\" in dropdown$")
public void iSeeInDropdown(String state) 
Assert.assertEquals("Alabama",??????);}

1 Ответ

0 голосов
/ 29 января 2019

В классе Select есть метод getFirstSelectedOption (), который возвращает выбранную опцию веб-элемента из выпадающего списка.Используя этот метод, вы можете получить опцию, как показано ниже:

Select select = new Select(someElement);
String option = select.getFirstSelectedOption().getText();

Вы можете установить условие, как показано ниже:

Assert.assertEquals("Alabama", option);

Попробуйте выполнитьследующие шаги:

Добавьте приведенный ниже метод в класс объектов страницы:

public String getSelected() {
            return new Select(StateDropDown).getFirstSelectedOption().getText().trim();
        }

И измените этот метод определения шага, как показано ниже, который вызовет метод класса объектов страницы, а затемполучить выбранную опцию и утвердить ее.

@Then("^I see \"([^\"]*)\" in dropdown$") {
        public void iSeeInDropdown(String state) 
            String selectedOption = new PageObjects().getSelected();
            Assert.assertEquals("Alabama", selectedOption);
        }

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...