Capybara / Poltergeist가 js 시작 탐색이 완료 될 때까지 기다리도록하는 방법은 무엇입니까?

재스퍼 지식

사용자가 자동 ​​완성 제안에서 옵션을 선택한 후 경로가 변경되었는지 확인하는 테스트가 있습니다. Poltergeist에서 Capybara와 함께 테스트 중입니다. 그러나 아마도 JS를 통해 페이지 변경을 트리거하고 있기 때문에 페이지로드가 완료 될 때까지 기다리기 위해 지금 sleep 문을 사용해야하는데, 이는 물론 이상적이지 않습니다.

이것은 js입니다.

window.location.href = suggestion.url;

그리고 이것은 테스트입니다.

sleep 1# Allow the time to navigate
expect(current_path).to eq(arg1)

여기서 arg1은 예상 페이지 URL입니다.

수면에서는 잘 작동하지만 이것이 최적이 아닌 이유는 분명합니다. 테스트를 더 스마트하게 만들고 내비게이션이 진행될 때까지 기다리게하는 방법은 무엇입니까?

토마스 월폴

eqcurrent_path와 함께 매처를 사용하지 마십시오 (실제로 대부분의 Capybara와 함께), have_current_path 매처를 사용하십시오

expect(page).to have_current_path(arg1)

Capybara에 내장 된 자동 대기 / 재시도 동작을 활용합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관