我的代码中有场景 单击页面中的复选框后,将弹出一个弹出窗口,其中包含约5个复选框。
在这里,我正在获取所有复选框元素并放入列表中。
但是,我必须在这里实现,仅应启用一个复选框。 启用复选框后,我需要确认该弹出窗口中的所有其他复选框均已禁用。
请帮助我。
答案 0 :(得分:0)
使用Java和TestNg断言来验证一次只能选中一个复选框的逻辑是这样的:
List<WebElement> checkboxes = driver.findElements(By.cssSelector("input[type='checkbox']"));
checkboxes.forEach(checkbox -> {
checkbox.click();
for (WebElement element:driver.findElements(By.cssSelector("input[type='checkbox']"))) {
if (element.equals(checkbox))
continue;
Assert.assertFalse(element.isSelected(), "Other checkbox should be not checked");
}
});
答案 1 :(得分:0)
使用isEnabled()
,它将检查给定的WebElement是否启用:
boolean enabled = driver.findElement(By.xpath("//xpath of the checkbox")).isEnabled();
如果要检查是否已选中/选中复选框,请使用isSelected()
方法:
boolean checked = driver.findElement(By.xpath("//xpath of the checkbox")).isSelected();