Вы проверяете, выбран ли label
, однако лучше вместо этого проверять связанный input
.
Так что вам нужно ввести еще один WebElement - для радиовхода.Также было бы хорошо выполнить функцию Element .scroll Into View () , чтобы получить уверенность в том, что элемент видим и с ним можно взаимодействовать.
Рекомендуемый обновленный код:
driver.get("https://fs2.formsite.com/meherpavan/form2/index.html");
WebElement radmale = driver.findElement(By.xpath("//label[@for='RESULT_RadioButton-8_0']"));
WebElement radmaleInput = driver.findElement(By.id("RESULT_RadioButton-8_0"));
System.out.println(radmale.isDisplayed());
System.out.println(radmale.isEnabled());
System.out.println("Before selecting radio button , the status is:" + radmaleInput.isSelected());
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", radmale);
radmale.click();
// After click should be true, but still false why ??????
System.out.println("After selecting radio button , the status is:" + radmaleInput.isSelected());
Также имейте в виду, что рекомендуется использовать Шаблон проектирования модели объекта страницы - таким образом вы сможете разбить логику тестаи определения элементов DOM, следовательно, ваш тестовый код всегда останется таким же, поскольку он будет независим от части GUI.