量角器无法定位元素/值

Protractor cannot locate a element/value

本文关键字:元素 定位 量角器      更新时间:2023-09-26

下面是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)时.我正在得到[对象,对象]任何帮助,不胜感激。

您需要解决承诺才能在控制台上查看实际值:

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");