【问题标题】:More than one element found for locator by.repeater为定位器 by.repeater 找到了多个元素
【发布时间】:2023-03-28 19:44:01
【问题描述】:

访问我正在使用的中继器的量角器代码如下

    element.all(by.repeater('x in parked'));  

HTML 代码

<div class="row content">
    <div class="col-sm-2">           
        <div ng-show="role != 3">
            <label for="parked" style="color:#0000ff;font-weight:bold">PARKED</label>
            <ul style="color:#006400;font-weight:bold" class="arriv-depart">
                <li ng-repeat="x in parked" popover-placement="top" data-popover-template="dynamicPopover3.templateUrl" data-popover-trigger="mouseenter">{{ deviceData[x[0]].boatName + ':' +  deviceData[x[0]].ownerName}}</li>
             </ul>
        </div>
    </div>
</div>      

问题是,量角器抛出警告:

    W/element - more than one element found for locator by.repeater("x in parked") - the first result will be used.   

我需要显示 Parked 中存在的所有元素。

【问题讨论】:

  • 但是为什么这对你来说是个问题呢?该警告通知您可能需要改进定位器,但这根本不是错误。

标签: testing protractor angularjs-ng-repeat angularjs-e2e


【解决方案1】:

看起来您有多个“x in parked”中继器,因此警告不是告诉您它找到了多个“x”,而是它发现了多个“x in parked”。

Protractor 文档说要避免使用 Xpath,但我发现它可以为我解决无数问题,尤其是在中继器方面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2023-04-01
    • 1970-01-01
    • 2014-05-21
    相关资源
    最近更新 更多