首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确保在selenium中只启用了一个复选框

如何确保在selenium中只启用了一个复选框
EN

Stack Overflow用户
提问于 2018-08-23 00:09:19
回答 2查看 265关注 0票数 -1

我在我的代码中有场景一旦我点击页面中的复选框,我会得到它的弹出窗口,其中包含大约5个复选框。

在这里,我获取了所有的复选框元素,并将其放入一个列表中。

但是,我必须在这里实现,应该只启用一个复选框。启用复选框后,我需要验证弹出窗口中禁用了所有其他复选框。

在这件事上请帮帮我。

EN

回答 2

Stack Overflow用户

发布于 2018-08-24 03:44:31

使用isEnabled(),它将检查给定的WebElement是否已启用:

代码语言:javascript
运行
复制
boolean enabled = driver.findElement(By.xpath("//xpath of the checkbox")).isEnabled();

如果要检查复选框是否已选中/未选中,请使用isSelected()方法,如下所示:

代码语言:javascript
运行
复制
boolean checked = driver.findElement(By.xpath("//xpath of the checkbox")).isSelected();
票数 1
EN

Stack Overflow用户

发布于 2018-08-23 00:56:04

下面是如何使用Java和TestNg assert验证一次只能选中一个复选框的逻辑:

代码语言:javascript
运行
复制
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");
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51970990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档