量角器如果(复选框.isSelected())错误

Protractor if (checkbox.isSelected()) bug?

本文关键字:错误 isSelected 复选框 如果 量角器      更新时间:2023-09-26

给定以下代码:

if (element(by.name("checkbox")).isSelected()) {
    element(by.name("checkbox")).click();
}

无论之前是否选择,它总是单击复选框,就像它返回什么无关紧要一样。我也试过

if (element(by.name("checkbox")).isSelected() == true) {
    element(by.name("checkbox")).click();
}

相同的结果。

但是当我把代码放在预期中时,它就像一个魅力......前任:

expect(element(by.name("checkbox")).isSelected().toBe(true));

给出正确的答案,无论是否被选中。

这是量角器的错误还是我在这里做错了什么?

PS:我尝试在硒网络驱动程序junit中运行类似的代码,它可以工作。

isSelected()返回一个承诺。您需要等待它完成:

element(by.name('checkbox')).isSelected().then(function(selected) {
    if (selected) {
        element(by.name('checkbox')).click();
    }
});