如何在Protractor中定位类中的多个文本元素?

时间:2017-03-16 11:16:43

标签: protractor

在我的测试中,我需要使用量角器测试验证突出显示的文本(列克星敦,肯塔基州)。

<li id="address" class="list">
<div class="content">
<small class="mb-1">
<span>
Suite # 278
<br>
</span>
**Lexington, KY**
</small>
</li>

如何使用css或cssContainingText定位器验证突出显示的文本?

2 个答案:

答案 0 :(得分:1)

实际上,量角器创造者已经设置了很好的documentation,并且请仔细阅读以充分了解css&amp;的使用情况。 cssContainingText。我将在此简要回答您的问题 - 使用element(by.cssContainingText('.content','Lexington'))

更新1: 如果你想添加一个断言..执行此操作 - expect(element(by.cssContainingText('.content','Lexington'))).toContain('Lexington, KY')

答案 1 :(得分:0)

对于一个我感到困惑,因为看起来你似乎永远不会关闭内容div ...它是在关闭后关闭的吗?

无论如何......我只是改变HTML,这样你就不需要一些疯狂的选择混乱了。我会这样做:

<li id="address" class="list">
  <div class="content">
    <small class="mb-1">
      <span>
        Suite # 278
        <br>
      </span>
      <cityState>Lexington, KY</cityState>
    </small>
</li>

function checkCityState(){
  return element(by.tagName('cityState')).getText();
}

expect(checkCityState()).toBe('Lexington, KY');