使用 ng-show 属性测试 <span> 是否可见

Test if <span> is visible with ng-show attribute

在我看来,我需要测试 ng-show="showMsgRoundDownToHours" 是否使跨度可见。这是观点:

<div class="highlight">
    ...     
    <span class="MsgRoundDownToHours" ng-show="showMsgRoundDownToHours">
       {{msgRoundDownToHours}}
    </span><br>
    ...
</div>

这是我针对该场景的量角器测试:

describe('c2g test', function() {
  ...
  var showMsgRoundDownToHours = element(by.css('.MsgRoundDownToHours'));
  ...
  // 10km and 229 minutes)
  it('10km, 229 minutes', function() {
    ...
    expect(showMsgRoundDownToHours).toBe(false);
    ...
  });
});

我不知道如何select那个特定的跨度。我试过将 span 设为 div,但这会破坏布局。我试过为它分配 css class MsgRoundDownToHours,但这会使我的控制台因错误而爆炸。 select 那个跨度还有其他方法吗?我也很乐意做 css 修改。

使用 isDisplayed():

查找元素并检查可见性
expect(element(by.css('span.MsgRoundDownToHours')).isDisplayed()).toBe(true);