0

亲爱的stackoverflowers。

我们在项目中使用 Selenide 框架为 UI 编写自动化测试。我们最近切换到 Material-UI,在简单的复选框方面遇到了技术问题。我正在尝试选择复选框。

SelenideElement rememberMeCheckBox = $(By.cssSelector("input[type=\"checkbox\"]"));

rememberMeCheckBox.setSelected(isSelected);

但是在这样做的同时,我得到了一个例外:

Element should be visible {input[type="checkbox"]}
Element: '<input type="checkbox" value="on" displayed:false></input>'

事实上,当我检查它包含的真实 DOM 时opacity: 0

在此处输入图像描述

当我强制设置不透明度时,我的自动化测试运行良好。如何处理?

在此处输入图像描述

4

1 回答 1

4

这不是硒问题,而是常见的硒问题。Selenium 将具有“不透明度:0”的元素定义为不可见。请参阅如何强制 Selenium WebDriver 单击当前不可见的元素?

启用此复选框的一种简单方法是单击其父元素:

$("input[type=\"checkbox\"]").parent().click();

至少它对我有用。

于 2016-09-08T20:49:01.117 回答