2016-04-26 71 views
0
<hs-details-item ng-repeat="item in amenities" style="overflow:hidden" class="ng-scope"> 
      <hs-label class="ng-binding">Coca-Cola</hs-label> 
      <hs-value-block> 
       <hs> 
        <hs-spin ng-class="{'disabled': isAmenityPosting}" spin- ontrol="{changeCallback:setQuantity, value: item.quantity, min:0, params: item.amenity_id, title:'Quantity'}"><span class="disabled">-</span><span>+</span> 
         <!--<span hs-placeholder="0" localize="{data: item.quantity > 0 ? item.quantity:null, format: 'int', operation:'text'}"></span>--> 
         <span localize="{data: item.quantity, format: 'int', operation:'text'}">0</span> 
        </hs-spin> 
       </hs> 
      </hs-value-block> 
     </hs-details-item> 

场景:我需要点击一个旋钮,它是一个“+”按钮,每按一次旋转一次,每增加一个数字就会被点击。挑战:我有10个不同的项目旋转。我怎样才能使我的代码独特,因此它会点击右旋?我可以看到这些物品的名称是独一无二的(水,可口可乐,...),但那些不是被点击的人。任何想法如何在量角器中做到这一点?下面的代码片段就是一个用来增加可乐点击次数后可口可乐数量的例子。当我选择我的元素这是一个“+”按钮,将参考以下男女同校拥有无一不独特一下:点击旋转量角器

<hs-spin ng-class="{'disabled': isAmenityPosting}" spin- ontrol="{changeCallback:setQuantity, value: item.quantity, min:0, params: item.amenity_id, title:'Quantity'}">< 
+0

尝试以下,但得到了一个错误:没有使用定位器找到的元素:通过结合(“可口可乐”)元素(by.binding(“古柯可口可乐'))点击()。 – Kevin

回答

0

有了轻微的变化alecxe的建议,我米ADE这项工作,并能点击“+”按钮:

element(by.xpath("//hs-details-item[hs-label='Coca-Cola']//hs-spin/span[2]")).click(); 
0

您可以filter()了基于标签所需的旋转元素:

var desiredLabel = "Coca-Cola"; 
var desiredSpin = element.all(by.repeater("item in amenities")).filter(function (spin) { 
    return spin.element(by.tagName("hs-label")).getText().then(function (label) { 
     return label === desiredLabel; 
    }); 
}).first(); 

desiredSpin.element(by.tagName("hs-spin")).click(); 

或者,那种在量角器一个non-welcomed方式 - 使用XPath表达式,并得到它一气呵成:

var desiredSpin = element(by.xpath("//hs-details-item[hs-label = 'Coca-Cola']//hs-spin")); 
desiredSpin.click(); 
+0

@ alecxe:我尝试了你的两个建议,但他们没有点击旋转。我没有得到任何错误 – Kevin

+0

@Kevin得到它,请检查更新。谢谢。 – alecxe

+0

@ alecxe:我认为我们正在接近。在更新之后,我运行它,这次单击是在一个没有打算的部分。所以要清楚,目标是一个矩形,分为3个部分。左侧是一个减少数字的“ - ”按钮,右侧是一个“+”按钮,增加了数字,中间部分是一个字段,如果点击它将弹出一个窗口,以便用户可以放置一个手动编号。 – Kevin