Help us learn about your current experience with the documentation. Take the survey.
等待机制
所有 Capybara 节点查找器都利用了一种等待机制。
根据 Capybara API -
如果驱动程序能够执行 JavaScript,
find会等待一个设定的时间,并持续尝试查找该元素,直到找到该元素或时间耗尽。find的等待时长由Capybara.default_max_wait_time控制,默认为2秒。find接受与其他方法相同的选项。
理想情况下,GitLab QA 框架 应该实现其自身的显式等待,以避免使用硬性休眠(hard sleeps),但目前情况并非如此 (not the case)。
硬性休眠
def wait(max: 60, time: 0.1, reload: true)
...
endmax: 指定等待的最长时间(秒),直到给定的代码块(block)满足条件time: 休眠的间隔/轮询时间(秒)。如果这个时间达到了max,等待操作将返回falsereload: 如果等待未满足条件,当:reload设置为true时,测试将休眠,然后重新加载页面