Как я могу получить атрибут веб-элемента в списке? - PullRequest
0 голосов
/ 15 октября 2018

ФОТО

Я получаю сообщение об ошибке в getAttribute (), сообщая, что не могу разрешить метод.этот метод обычно работает с объектами WebElement, но по какой-то причине это не так.Это код, также проверьте изображение.

public void radioButtonUsingLable(String lablename) {

    List<WebElement> radio = brower.findElements(By.xpath("//label[text() = 
            \"" + lablename + ":\"]/following-sibling::div[1]//child::input"));

    for (WebElement element: radio) {
        element.click();
        delay(2000);
    }
}


@Test
public void test1(){
    radioButtonUsingLable("Radio Button");

    List<WebElement> radio = brower.findElements(By.xpath("//label[text() = 
            \"Radio Button:\"]/following-sibling::div[1]//child::input"));

    for (WebElement element: radio) {
        String checked = radio.getAttribute("checked");
        boolean isSelected = checked != null  && 
        checked.contentEquals("true") ? true : false;
        Assert.assertTrue(isSelected);
    }
}

1 Ответ

0 голосов
/ 15 октября 2018

Если вы видите что-то подобное (показанное на фотографии OP красным подчеркиванием имени метода), это может означать, что тип объекта, который, по вашему мнению, у вас есть, на самом деле не является.

В вашем коде radio на самом деле список.element является элементом в этом списке.Вы должны иметь:

for (WebElement element: radio) {
    String checked = element.getAttribute("checked");  // change radio to element here
    boolean isSelected = checked != null  && 
            checked.contentEquals("true") ? true : false;
    Assert.assertTrue(isSelected);
}

Чтобы помочь решить эту проблему в будущем, подумайте о выборе лучших имен переменных.Например, если у вас есть список вещей, сделайте переменную во множественном числе.В этом случае это дало бы вам подсказку, что вы не можете вызвать getAttribute() для переменной с именем radioButtons или radioButtonsList.

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

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