如果未使用量角器选择,请选中复选框

时间:2017-11-28 15:50:19

标签: javascript if-statement checkbox protractor

我尝试在量角器中执行以下场景:

  1. 查找复选框
  2. 检查是否已选中
    • 如果是 - 进一步
    • 如果不是 - 选择它并进一步
  3. 由于某种原因,isSelected()功能无法使用我的复选框,但我找到了一些解决方案。下面的代码正常工作:

    expect(checkbox.getAttribute('aria-checked')).toEqual('false')
    

    它会检查一些复选框属性,如果未选中则为“false”,如果选中则为“true”。 (但作为一个字符串)

    现在的主要问题。如何编写'if / else'语句使其有效?

    我尝试过类似的东西:

    if (expect(checkbox.getAttribute('aria-checked')).toEqual('false')) {
        checkbox.click();
    }
    

    但如果选中或不选中复选框,它总是会点击复选框。我也试过了:

    if (checkbox.getAttribute('aria-checked').toEqual('false')) {
        checkbox.click();
    } 
    

    但是有一个错误,上面写着“这不是一个功能”。

    有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试制作一些辅助函数:

function setCheckBoxTo(locator, value){
    var checkbox = element(locator);
    checkbox.isChecked().then(function(selected){
        if(selected !== value){
            checkbox.click();
        }
    }
}

其中[value is true/false]