gpt4 book ai didi

javascript - 等待 UI 文本更新

转载 作者:行者123 更新时间:2023-11-30 16:51:19 24 4
gpt4 key购买 nike

作为我们应用程序的一部分,用户可以单击列表中的一个项目,然后这会更改屏幕上的数据负载,包括过滤器按钮上的文本。

例如一个列表可能是城市伦敦纽约东京

点击 London 最初会将过滤器标签从“All”更改为“1”,同时我们等待 Angular Controller 从我们的 api 中计算出正确的文本应该是什么,然后它更改为“London”在 Angular Controller 确定正确的标签应该是什么以及页面的其余部分从我们的 api 加载更多数据时,这会稍有延迟。

此延迟导致 Protractor 中的测试失败,因为延迟时间刚好足以让 Protractor 选择“1”作为文本而不是“伦敦”,休眠一秒钟可以解决此问题,但此操作是执行一个很多通过测试,不想每次都 sleep ,有没有办法我可以等待 Angular Controller 完成或其他东西,所以我最终等待的时间恰到好处?

我知道 Protractor 通常会等待 Angular ,但我认为最初将标签从“全部”更改为“1”是在愚弄 Protractor ,让其认为它已准备好继续,因为这一切都是通过多个 Angular Controller 和服务完成的

谢谢

最佳答案

您可以明确等待伦敦文本出现。几天前向我展示了这种方法,从那以后它一直非常有用。

var EC = protractor.ExpectedConditions;

// Replace below with whatever locator is appropriate for your case
var elem = element(by.xpath("//div[contains(text(), 'London')]"));

browser.wait(EC.presenceOf(elem), 5000);
expect(elem.isPresent()).toEqual(true);

关于javascript - 等待 UI 文本更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30480286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com