断言从下拉列表中检查数组中的值

时间:2018-05-11 11:25:43

标签: javascript arrays automation protractor automated-tests

我无法找到最佳解决方案来检查下拉菜单中是否检查了数组中的元素(值 - 字符串)。 这是我的html(下拉列表)的一部分

<div _ngcontent-c5="" class="dropdown-item">
    <div _ngcontent-c4="" class="dropdown-item">
                    <div _ngcontent-c4="" class="custom-control custom-checkbox">
                      <input _ngcontent-c4="" class="custom-control-input ng-untouched ng-pristine ng-valid" type="checkbox" id="dog1">
                      <label _ngcontent-c4="" class="custom-control-label" for="dog1">Dog</label>
                    </div>
                  </div>
    <div _ngcontent-c4="" class="dropdown-item">
                    <div _ngcontent-c4="" class="custom-control custom-checkbox">
                      <input _ngcontent-c4="" class="custom-control-input ng-untouched ng-pristine ng-valid" type="checkbox" id="cat2">
                      <label _ngcontent-c4="" class="custom-control-label" for="cat2">Cat</label>
                    </div>
                  </div>
    <div _ngcontent-c4="" class="dropdown-item">
                    <div _ngcontent-c4="" class="custom-control custom-checkbox">
                      <input _ngcontent-c4="" class="custom-control-input ng-untouched ng-pristine ng-valid" type="checkbox" id="horse3">
                      <label _ngcontent-c4="" class="custom-control-label" for="horse3">Horse</label>
                    </div>
                  </div>
输入

,我可以检查该元素isSelected。 我想从标签中取值(选中)并检查它是否包含在我的数组中,但是我有编写函数的问题,该函数将创建带有所选标签的数组。

我尝试过这样的事情(只是为了测试我做得对,我使用的是控制台日志,而不是推送到数组)。但它没有用。

var categories = $$('.custom-checkbox');

this.assertTest = function () {
        categories.filter(function (element, index) {
            if (element.isSelected()) {
                element.$('label').get(index).getText().then(function (ele) {
                    console.log(ele);
                })
            }
        })
        return this;
    }

0 个答案:

没有答案