如何使用量角器测试 class 是否存在

How to use protractor to test class existance

我正在使用量角器来测试我的网站。我反驳了一个问题。

我有一个ul,里面的li数是动态的,

<ul>
  <li class='listing-item'>
    <div class='prod-price'></div>
  </li>
  <li class='listing-item price-onsale'>
    <div class='prod-price'></div>
    <div class='prod-saving'></div>
  </li>
  <li class='listing-item'>
    <div class='prod-price'></div>
  </li>
  ...
</ul>

'prod-saving' div 仅在出现 'price-onsale' class 时才会显示。我想用量角器来测试这个逻辑,有办法吗?类似于:

expect(elment(by.className('price-onsale').isPresent()).toBe(true).when('price-onsale).isPresent();

如果您稍微重新排列一下,您的语法几乎可以逐字逐句地工作:

element(by.className('price-onsale')).isPresent().then(function(present) {
  if(present) {
    expect(element(by.className('prod-saving')).isPresent()).toBe(true);
  }
});

先测试前置条件,再根据第一个的结果测试主要条件。