Javascript 量角器找不到元素/值
以下是html代码:Javascript 量角器找不到元素/值,javascript,angularjs,testing,protractor,end-to-end,Javascript,Angularjs,Testing,Protractor,End To End,以下是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
<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>
在本例中,由于我有两个具有相同表达式的实例,因此我执行了以下操作:
var value = element.all(by.id('briefcaseCount')).get(0).evaluate('main.briefcase.contents.length');
当我调用console.log(value)
时。。我得到[目标,目标]
非常感谢您的帮助。您需要解决在控制台上看到真正价值的承诺:
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')).get(0).evaluate('main.briefcase.contents.length');
element.all(by.id('briefcaseCount')).first().evaluate('main.briefcase.contents.length').then(function (value) {
console.log(value);
});
var value = element.all(by.id('briefcaseCount')).first().evaluate('main.briefcase.contents.length');
expect(value).toEqual("somevalue");