如何在Protractor中使用OR逻辑创建定位器?

时间:2017-04-11 14:12:58

标签: angularjs protractor

我们在网络应用中有一个表,其概念如下:

<list>
  <list-item>
    <span>Name:</span>
    <div>John</div>
  </list-item>
  ... goes on with repeated list-items with span's and div's ...
</list>

是否可以执行element.all(by.tagName('span') OR by.tagName('div'))之类的操作?我只想将其中的元素提取到字典中,其中span中的元素是Key,div中的元素是value。然后断言行值与预期结果匹配。

1 个答案:

答案 0 :(得分:1)

这似乎是.map()的一个很好的用例:

var listItems = $$("list list-item").map(function (listItem) {
    return listItem.element("span").getText().then(function (label) {
        return listItem.element("div").getText().then(function (value) {
            return {
               label: value
            };
        });
    });
});

listItems.then(function (values) {
    console.log(values);
});

values将是一个对象数组。