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



>我需要从元素 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 选择器,UI-咆哮消息)

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

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

它可能不是它返回未找到该元素的真正问题。我觉得选择器不好。如果元素像你说的那样迅速消失,有时测试会通过,有时它会失败。尝试另一个选择器,并确保您拥有正确的选择器。

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

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

最新更新