【问题标题】:Selenide test fails to interact with Material`s checkboxSelenide 测试无法与 Material 的复选框交互
【发布时间】:2016-09-09 04:49:01
【问题描述】:

亲爱的stackoverflowers。

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

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

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

【问题讨论】:

    标签: material-ui selenide


    【解决方案1】:

    这不是 Selenide 问题,而是常见的 Selenium 问题。 Selenium 将具有“不透明度:0”的元素定义为不可见。 见How to force Selenium WebDriver to click on element which is not currently visible?

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

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

    至少它对我有用。

    【讨论】:

    • 它也对我有用。但我想知道如何在几个复选框中选择特定的复选框。除了类型,我们还应该使用什么属性?
    • 除了你没有人能回答。这取决于您的应用程序。您需要找到一些定位器或至少 xpath。
    猜你喜欢
    • 2012-05-15
    • 2022-01-15
    • 2023-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多