После выбора / нажатия переключателя на «goo.gl/RVdKM9» статус все еще ложный - PullRequest
0 голосов
/ 12 мая 2019
WebDriver driver = new ChromeDriver();


WebElement radmale = driver.findElement(By.xpath("//label[@for='RESULT_RadioButton-8_0']"));

System.out.println(radmale.isDisplayed());

System.out.println(radmale.isEnabled()); 

System.out.println("Before selecting radio button , the status is:" + radmale.isSelected()); 
radmale.click();

// After click should be true, but still false why ??????
System.out.println("After selecting radio button , the status is:" + radmale.isSelected());

1 Ответ

0 голосов
/ 13 мая 2019

Вы проверяете, выбран ли 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.

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