量角器:by.model 在自定义指令中找不到元素
Protractor: by.model can't find element inside custom directive
我有这个 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-view 中,我加载了不同的组件。其中一个组件加载另一个 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'))
工作,即使在等待 angular 或设置等待时间后也是如此。量角器总是失败:
Failed: No element found using locator: by.model("task.desTask").
我是一个还在学习端到端测试的新手,但这是第一次测试
很长的测试过程失败了,我找不到关于
指令和量角器的问题。
我试过在自定义指令中为元素添加一个 id,但找不到它。系统似乎对自定义 HTML 标签 <edit-task></edit-task>
下的所有内容视而不见。
任何帮助都会很棒,使用 by.model 对这个项目至关重要。
结果是项目中的 angularjs 错误导致指令无法正确呈现,因此 element(by.model()) 无法正常工作。谢谢大家的帮助。
我有这个 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-view 中,我加载了不同的组件。其中一个组件加载另一个 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'))
工作,即使在等待 angular 或设置等待时间后也是如此。量角器总是失败:
Failed: No element found using locator: by.model("task.desTask").
我是一个还在学习端到端测试的新手,但这是第一次测试 很长的测试过程失败了,我找不到关于 指令和量角器的问题。
我试过在自定义指令中为元素添加一个 id,但找不到它。系统似乎对自定义 HTML 标签 <edit-task></edit-task>
下的所有内容视而不见。
任何帮助都会很棒,使用 by.model 对这个项目至关重要。
结果是项目中的 angularjs 错误导致指令无法正确呈现,因此 element(by.model()) 无法正常工作。谢谢大家的帮助。