Выбор из 2 радиокнопок, когда у 1 кнопки нет идентификатора - Webdriver - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь написать скрипт в веб-драйвере, и часть тестируемой страницы имеет 2 переключателя, на которых человек должен согласиться с тем, что что-то правильно.

По умолчанию кнопка no выбрана, и пользователь должен выбрать радиокнопку yes, чтобы продолжить.

Я прочитал несколько решений для похожих вещей, и я пробовал множество разных вещей, но все еще не могу заставить Selenium выбрать переключатель «да». Это вопрос да / нет. Поле «Нет» уже заполнено, но мне нужно выбрать «Да».

Как вы можете видеть ниже, для этой части формы есть небольшой код.

<code><pre>

<form action="">
                <input id="selfCert" name="selfCert" value="no" checked="checked" type="radio">No
                <input name="selfCert" value="yes" type="radio">Yes
            </form>

 

Я пытался использовать xpath и css, но тест только что закончился.

Любой совет будет принят с благодарностью.

Спасибо

Gareth

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Мне удалось решить проблему, используя команду ожидания, пока вебдрайвер не увидит кнопку

</p>

<p>WebElement element = driver1.findElement(By.xpath("/html/body/div[1]/div[2]/div[2]/div[5]/div[1]/div/form/input[2]"));
        WebDriverWait wait = new WebDriverWait(driver1, 20);</p>

<code>    wait.until(ExpectedConditions.visibilityOf(element));
    element.click();
</code>

0 голосов
/ 11 мая 2018

Можно ли использовать xpath для выбора переключателя Да? Поскольку оба поля ввода имеют одинаковое имя = "selfCert", я думаю, вам нужно использовать xpath.

У меня есть пример на C # для Selenium, если вы используете другой язык, вам нужно будет его изменить.

YesRadioButton = webDriver.FindElement(By.XPath("//form/input[2]"));
YesRadioButton.Click();
...