Selenium webdriver: как утверждать, проверен ли флажок radioobox/checkbox

99
10

Я использую веб-редактор Selenium с javascript и node.js


На каком-то этапе моего теста я должен проверить (утверждать), если определенная радиобокса уже проверена.


Я хочу проверить, проверен ли он, а значит, мой тест будет успешным.


На самом деле я попытался сделать это:


  var radioInput = driver.findElement(webdriver.By.xpath('//*[@id="radio1'));
radioInput.isSelected().then(function() {
done();
});

Я не знаю, но это не работает.


Предложения

спросил(а) 2021-01-25T18:29:50+03:00 4 месяца, 3 недели назад
1
Решение
116

Сохраните вывод из метода isSelected и получите оператор условия, например if/else,

            var radioInput = driver.findElement(webdriver.By.xpath('//*[@id="radio1'));
var state = radioInput.isSelected();
if(state)
{
//THINGS TO DO IF RADIO IS ON
}
else
{
//THINGS TO DO IF RADIO IS OFF
}

ответил(а) 2021-01-25T18:29:50+03:00 4 месяца, 3 недели назад
46

я решаю его следующим образом:

var element = driver.findElement(webdriver.By.xpath('//*[@id="radioID"]'));

element.getAttribute("checked").then(function(value) {
assert.equal(value, 'true');
//traitement
});

ответил(а) 2021-01-25T18:29:50+03:00 4 месяца, 3 недели назад
45

Попробуйте вместо этого var radioInput = driver.findElement(webdriver.By.xpath('//*[@id="radio1'));
используйте driver.wait(until.elementIsVisible(driver.findElement(By. и так далее.

ответил(а) 2021-01-25T18:29:50+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема