InfoGrab DocsInfoGrab Docs

대기(Waits)

GitLab QA 프레임워크에서 Capybara의 대기 메커니즘과 하드 슬립(Hard Sleep) 사용 방법을 설명합니다.

모든 Capybara Node Finder는 대기 메커니즘을 활용합니다. Capybara API 에 따르면 - 드라이버가 JavaScript를 실행할 수 있는 경우, find 는 일정 시간 동안 대기하면서 엘리먼트를 찾을 때까지 또는 시간이 만료될 때까지 계속해서 엘리먼트 탐색을 재시도합니다. find 가 대기하는 시간의 길이는 Capybara.default_max_wait_time 을 통해 제어되며 기본값은 2 초입니다. find 는 all 과 동일한 옵션을 사용합니다. 이상적으로는 GitLab QA Framework 가 하드 슬립을 피하기 위해 자체적인 명시적 대기를 구현해야 하지만, 현재는 그렇지 않습니다 . 하드 슬립(Hard Sleeps) # qa/qa/page/base.rb def wait(max: 60, time: 0.1, reload: true) ... end max : 주어진 블록이 충족될 때까지 대기할 최대 시간(초)을 지정합니다. time : 초 단위의 슬립 인터벌/폴링 시간입니다. 이 시간이 max 에 도달하면 대기는 false 를 반환합니다. reload : 대기가 충족되지 않으면, :reload 가 true 로 설정된 경우 테스트는 슬립 후 페이지를 다시 로드합니다.