사용자가 자동 완성 제안에서 옵션을 선택한 후 경로가 변경되었는지 확인하는 테스트가 있습니다. 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입니다.
수면에서는 잘 작동하지만 이것이 최적이 아닌 이유는 분명합니다. 테스트를 더 스마트하게 만들고 내비게이션이 진행될 때까지 기다리게하는 방법은 무엇입니까?
eq
current_path와 함께 매처를 사용하지 마십시오 (실제로 대부분의 Capybara와 함께), have_current_path 매처를 사용하십시오
expect(page).to have_current_path(arg1)
Capybara에 내장 된 자동 대기 / 재시도 동작을 활용합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다