У меня есть этот проект 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 успешно найден элементом (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'))
работать, даже после ожидания угла или установки времени ожидания. Транспортир всегда терпит неудачу:
Ошибка: не найден элемент с помощью локатора: by.model ("task.desTask").
Я новичок, все еще изучающий тестирование e2e, но это первый тест в
очень длинный процесс тестирования, который не удался, и я не могу найти информацию о
вопрос о директивах и транспортире.
Я попытался добавить идентификатор к элементу внутри пользовательской директивы, и он не может быть найден . Похоже, что система закрыта для всего под пользовательским тегом HTML <edit-task></edit-task>
.
Любая помощь была бы великолепна, использование by.model было бы крайне важно для этого проекта.