量角器:by.model在自定义指令中找不到元素

时间:2018-06-29 14:17:31

标签: angularjs protractor angularjs-e2e

我有一个AngularJS项目,其中有一个复杂的HTML布局。

<div id="ngView" class="container-fluid">
    <input type="text" ng-model="model.test"></input>
    <div ng-view></div>
    <br><br>
</div>

model.test被element(by.model('model.test'))成功找到。

在ng视图中,我加载了不同的组件。这些组件之一,将加载另一个html指令,即

<div class="trans-edit" ng-if="$root.editing"> 
    <edit-task task="$root.task " editando="$root.editing " 
     reload="$root.getData" class="trans-edit">
    </edit-task> 
</div>

其结果是:

<edit-task task="$root.task " editing="$root.editing " reload="$root.getData" class="trans-edit ng-isolate-scope">
<div class="modal-header">
    <div class="row">
        <div class="col-md-6 col-xs-12">
            <h3 class="modal-title ng-binding">Create task</h3>
        </div>
        <div class="col-md-6 col-xs-12">
            <input type="text" ng-model="task.desTask" class="form-control input-lg ng-pristine ng-untouched ng-valid">
        </div>
        ... it goes on .... </div> 

即使等待角度或设置等待时间,我也无法使element(by.model('task.desTask'))工作。量角器总是通过以下方式失败:

  

失败:使用定位器未找到任何元素:by.model(“ task.desTask”)。

我是一个仍在学习e2e测试的新手,但这是 漫长的测试过程失败了,我无法找到有关的信息 指令和量角器的问题。

我尝试将id添加到自定义指令内的元素中,但找不到。似乎系统对自定义HTML标签<edit-task></edit-task>下的所有内容都不了解。

任何帮助都将非常有用,使用by.model对这个项目至关重要。

1 个答案:

答案 0 :(得分:0)

在项目上发现一个angularjs错误,导致指令无法正确呈现,因此element(by.model())无法正常工作。谢谢大家的帮助。

相关问题