如何确保硒中仅启用一个复选框

时间:2018-08-22 16:09:19

标签: ruby selenium selenium-webdriver

我的代码中有场景 单击页面中的复选框后,将弹出一个弹出窗口,其中包含约5个复选框。

在这里,我正在获取所有复选框元素并放入列表中。

但是,我必须在这里实现,仅应启用一个复选框。 启用复选框后,我需要确认该弹出窗口中的所有其他复选框均已禁用。

请帮助我。

2 个答案:

答案 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();