如何使用量角器快速消失元素中的文本

时间:2017-10-09 18:51:21

标签: selenium selenium-webdriver jasmine protractor automated-tests

我需要从元素P获取文本但是量角器会一直返回错误

代码:

 <div class = "ui-growl-message"> 
       <span class = "ui-growl- title">Sucesso</span> 
        <p>cargo Cadastrado cm sucesso!</p>  
    </div>

我试过这种方式:

const msgValidacao = element(by.css('ui-growl-message')).all(by.tagName('p')).first().getText().then(() => {
  expect(msgValidacao).toContain('Cargo cadastrado com sucesso');
                    });

,错误是:

  

失败:找不到使用定位器的元素:By(css selector,   UI-咆哮消息)

问题是元素是一个警告,因此很快就会从屏幕上消失。

2 个答案:

答案 0 :(得分:0)

除了css更正之外,您还需要采用某种等待策略来预测消息,并尽可能接近初始呈现时刻抓取内容。由于错综复杂的时序因素,围绕非常短暂的消息的自动化可能具有挑战性。

答案 1 :(得分:0)

为什么它返回找不到元素可能不是真正的问题。我觉得选择器不好。如果元素快速消失,就像你说的那样,有时测试会通过,有时会失败。尝试其他选择器并确保您拥有正确的选择器。

如果要选择第一个元素,请使用get(0)而不是first()

element(by.css('ui-growl-message')).all(by.tagName('p')).get(0)