量角器通过包含在特定div中的by.repeater定位元素

时间:2017-04-22 20:28:03

标签: angularjs angularjs-directive jasmine protractor

在量角器中,我正在尝试使用id为“CreateRFQID”的特定div访问重复的按钮。这些按钮定义为指令'gps-button-bar'。我试图通过.repeater访问它们。因为这些按钮也出现在页面的其他位置,所以我不能通过
访问它们 element(by.repeater('按钮'中的'aBtn按$ index'跟踪)。

但是我试图获得那些作为id的'CreateRFQID'的div子元素的按钮,但没有成功。

我正在尝试的量角器代码:

var parent = element(by.css('#CreateRFQID'));
        var first= parent.element(by.repeater('aBtn in buttonBarController.config.buttonConfigs track by $index')).row(0);
        first.getText().then(function (text) {
            console.log(text);
        });

任何帮助如何获得它? 感谢。

查看/ html片段

<div ng-controller="CreateRFQController as createRFQCntrl" id="CreateRFQID" class="ng-scope">

    <gps-button-bar config="createRFQCntrl.buttonBarConfig" class="ng-isolate-scope"><div class="container-fluid">
    <div class="row row-buttonBar">
       <label><h1 class="panel-title ng-binding">RFQ Create </h1></label>
           <span class="pull-right">

           <span ng-repeat="aBtn in buttonBarController.config.buttonConfigs track by $index" style="padding-right: 2px" class="ng-scope">
               <button class="btn btn-default btn-xs ng-binding" id="&quot;myButton&quot;+$index" ng-click="buttonBarController.clickHandler($index);" data-toggle="tooltip" data-placement="top" title="Create" ng-show="buttonBarController.gpsShownButtons[$index]" ng-disabled="buttonBarController.gpsDisabledButtons[$index]">
                    <span class="fa fa-floppy-o"></span> Create
               </button>
           </span><!-- end ngRepeat: aBtn in buttonBarController.config.buttonConfigs track by $index -->
    </span>
</div>

1 个答案:

答案 0 :(得分:0)

您在选择器中遇到问题,您.rowelement

的结果不是by
var parent = element(by.id('CreateRFQID'));
var first = parent.element(by.repeater('aBtn in buttonBarController.config.buttonConfigs track by $index').row(0));
first.getText().then(function (text) {
    console.log(text);
});