В моих тестах мне нужно сначала найти конкретный продукт, а затем выполнить некоторые операции над некоторыми подэлементами этого продукта. Есть много продуктов.транспортир: не удается найти элементы элемента
Это мои первые сценарии транспортира, так что несите меня.
var prod = element.all(by.css('singleproduct')).get(1);
singleproduct
- это директива. Это часть скриптов, нарушающий:
prod.element(by.css(".product-ordering ul li")).each(function(elem) {
})
Однако, я всегда получаю element(...).each is not a function
HTML:
<singleproduct ng-repeat="item in vm.products" item="::item" class="col-xs-12 col-sm-6 col-md-4 product_tile ng-scope ng-isolate-scope">
<article ng-class="{'product--active': isSelected}" class="product">
<section ng-click="toggleDetails()" class="product-content">
<!-- some prod info -->
</section>
<section>
<div class="product-ordering">
<ul class="product-quantities">
<!-- ngRepeat: option in ::priceList -->
<li ng-repeat="option in ::priceList" class="ng-scope">
<!-- this is the LI I want to catch...
</li>
<!-- end ngRepeat: option in ::priceList -->
<li ng-repeat="option in ::priceList" class="ng-scope">
<!-- this is the LI I want to catch...
</li>
<!-- end ngRepeat: option in ::priceList -->
<li ng-repeat="option in ::priceList" class="ng-scope">
<!-- this is the LI I want to catch...
</li>
<!-- end ngRepeat: option in ::priceList -->
</ul>
</div>
</section>
</article>
</singleproduct>
Хорошая проблема у вас есть, это вдохновило, чтобы добавить новое правило eslint для этого, по этой проблеме GitHub, если интересно: https://github.com/alecxe/eslint-plugin-protractor/issues/57 , Благодарю. – alecxe
@alecxe Я не знал, что ваш плагин существует, выглядит очень полезно! – faboolous
Я идиот, я понял, что это правило реализовано: см. Https://github.com/alecxe/eslint-plugin-protractor/blob/master/docs/rules/no-array-finder-methods .md. Благодарю. – alecxe