2015-03-11 2 views
0

Ниже приводится HTML-код:транспортир не может найти элемент/значение

<tab id="briefcase" ng-controller="BriefcaseController as vm" active="main.uiState.briefcaseOpen"> 
     <tab-heading> 
      <i class="glyphicon glyphicon-briefcase"></i><br> 
      My Court Cases <span id="briefcaseCount" ng-show="main.briefcase.contents.length" class="badge">{{main.briefcase.contents.length}}</span> 
     </tab-heading> 
     <ng-include src="'app/components/briefcase/briefcase.html'"></ng-include> 
    </tab> 

Я последовал пример, приведенный в транспортире API: вид:

<span id="foo">{{variableInScope}}</span> 

Код:

var value = element(by.id('foo')).evaluate('variableInScope'); 

в моем случае, так как у меня есть 2 экземпляра с таким же выражением, я сделал следующее:

var value = element.all(by.id('briefcaseCount')).get(0).evaluate('main.briefcase.contents.length'); 

Когда я звоню console.log(value) .. Я получаю [объект Object] Любая помощь приветствуется.

ответ

0

Вы должны разрешить обещание увидеть реальную стоимость на консоли:

element.all(by.id('briefcaseCount')).first().evaluate('main.briefcase.contents.length').then(function (value) { 
    console.log(value); 
}); 

Если вам просто нужно отстаивать значение, передать его expect() - было бы неявно разрешить обещание:

var value = element.all(by.id('briefcaseCount')).first().evaluate('main.briefcase.contents.length'); 
expect(value).toEqual("somevalue"); 
Смежные вопросы