使用量角器获取具有特定属性值的span的子元素

时间:2015-09-12 16:44:38

标签: javascript angularjs protractor angular-ui-bootstrap popover

如果弹出一个弹出框,我想用量角器进行测试。这是我的HTML。 popover位于最后一个子区域:

<span tariff-popover="views/popovers/c2g/airport.html" class="ng-isolate-scope">
    <span ng-transclude="">
        <span class="ng-scope">
           Flughafenpauschale
         </span>
     </span>
        &nbsp;
     <span popover-placement="right" popover-template="text" popover-trigger="mouseenter" class="fa fa-info-circle">
     </span>
</span>

如何选择最后一个跨度?我需要根据父span的tariff-popover值来选择它。这就是我试图挑选它的方式:

it('should display the popover-content on mouseover', function() {
  var popover = element(by.css('span[tariff-popover=views/popovers/c2g/airport.html] > .fa.fa-info-circle'));

  console.log(popover.getInnerHtml());

  /* more tests here */

});

由于css选择器错误,console.log会给我错误。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

应该有关税 - 弹道价值的报价。试试这个 -

var popover = element(by.css('span[tariff-popover="views/popovers/c2g/airport.html"] > .fa.fa-info-circle'));

而且.getInnerHtml()将返回一个承诺。所以,你需要等待它返回一个值。这是如何 -

popover.getInnerHtml().then(function(val){
    console.log(val);
});

希望这有帮助。