如何告诉排毒等待我的元素出现

Posted

技术标签:

【中文标题】如何告诉排毒等待我的元素出现【英文标题】:How to tell Detox to wait for my elements to appear 【发布时间】:2021-02-17 03:03:56 【问题描述】:

事件后我的视图需要一秒钟才能加载。 调用时:

expect(element(by.id('my-view'))).toBeVisible()

detox 有时会找到此元素,有时则不会。 如何让 detox 等待元素出现?

【问题讨论】:

这里是在黑暗中拍摄,但是您是否在expect()...toBeVisible() 之前应用了await 【参考方案1】:

您可以使用 waitFor 函数和您定义的超时:

await waitFor(element(by.id('my-view'))).toBeVisible().withTimeout(5000)

这告诉 detox 在失败前等待 5000 毫秒。

在此处查看示例:https://github.com/wix/Detox/blob/master/docs/Troubleshooting.RunningTests.md#test-tries-to-find-my-component-before-its-created

【讨论】:

以上是关于如何告诉排毒等待我的元素出现的主要内容,如果未能解决你的问题,请参考以下文章

如何在自定义助手中访问排毒元素匹配器?

排毒:使用多个元素匹配器会导致错误

排毒 - 不能在 ScrollView 元素上使用滚动操作

排毒:“找不到 UI 元素。”尝试滚动 FlatList 时

Selenium:元素等待的4种方法

Selenium:元素等待的4种方法