量角器,需要创建键字典:值对

时间:2018-08-10 11:04:13

标签: javascript protractor

我有一种创建键的方法:元素的值对

this.cardcontent = function () {
    var cardcontents = {}; empty dictionary declaration
    var cardtext = element.all(by.css('.tileHeader')).map(function(cards) {
        return cards.getText();
    }); // card name as list in text format
    var contenttext =  element.all(by.css('.tileContentText')).map(function(content) {
        return content.getText();
    });//card content as list in text format
    for(var i=0; i<cardtext.length;i++){
        cardcontents[cardtext[i]] = contenttext[i]; // creating the dictionary 
    }
    return cardcontents;
};

上面的方法在这里被调用:

it("Validate that card name to reflect multiple categories", function (){
    var cardandcontents = homePage.cardcontent();
    console.log(cardandcontents);
    for (var j in cardandcontents) {
        if (cardandcontents.hasOwnProperty(j)) {
            console.log("key : " + j + " value : " + cardandcontents[j]);
        }
    }
});

我得到的输出是空字典{}。控制台中所需的输出:

key : card1 value: content1 
key : card2 value: content2
key : card3 value: content3
key : card4 value: content4 
key : card5 value: content5
key : card6 value: content6

有人可以给我解决这个问题的方法吗?我没有得到预期的输出。

1 个答案:

答案 0 :(得分:1)

map()返回一个Promise。 http://www.protractortest.org/#/api?view=ElementArrayFinder.prototype.map

for循环中,您尝试将cardtext视为数组。您需要兑现承诺。