2016-06-02 3 views
1
Panel Property Object: 
this.IncSummary = element.all(by.css('#incidentList h5')); 

Common function: 
//Get the Text of Summary 
exports.getIncSummary = function (IncId) { 
console.log("executing getIncSummary function"); 
Panel.IncSummary.then(function(items){ 
    console.log("Summary items = " +items); 
    (items[IncId].getText()).then(function(txt){ 
      console.log("summary text = "+ txt);         
     }); 
    return items[IncId].getText();   
    }); 
}; 


Using this function in my test: 

it('compare the summary text ', function() { 
    CommonFun.getIncSummary(0).then(function(promis){ 
        console.log("promis= "+promis); 
       });    
    }); 

Я получаю следующее сообщение об ошибке:как вернуть значение обещание в транспортир

Ошибка: Не удается прочитать свойство «то» неопределенной

Не уверен, что я делаю неправильно, был бы признателен за любую помогите в этом. Спасибо заранее.

ответ

2

Функция getIncSummary ничего не возвращает. Если вы хотите, чтобы получить текст для данного локатора/индекс затем использовать .get():

// Panel Property Object: 

this.IncSummary = element.all(by.css('#incidentList h5')); 


// Common function: 

exports.getIncSummary = function (index) { 
    return Panel.IncSummary.get(index).getText(); 
}; 


// Using this function in my test: 

it('compare the summary text ', function() { 
    CommonFun.getIncSummary(0).then(function(text){ 
     console.log(text); 
    }); 
}); 
+0

Я попытался возвращение Panel.IncSummary.get (индекс) .getText(); но он все еще показывает Failed: невозможно прочитать свойство «then» неопределенного для CommonFun.getIncSummary (0). then (строка функции (текст) № – ssharma

+0

Я получаю ожидаемый результат с помощью этого примера. Ваша проблема, вероятно, где-то в другом месте –

+0

это решение чистое и выглядит корректно для меня. – nilesh

Смежные вопросы