Selenium: 웹 페이지 로드 완료 확인
많은 개발자는 원활하고 정확한 테스트를 위해 Selenium에서 웹 페이지의 전체 로드를 검증하려고 노력합니다. . 그러나 명시적인 요소 가시성 검사와 달리 페이지 로드 완료를 확인하기 위해 미리 만들어진 일반 기능은 없습니다.
시험한 코드
다음 코드로 확인하려고 했습니다.
new WebDriverWait(firefoxDriver, pageLoadTimeout).until( webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
하지만 보시다시피 이 접근 방식은
PageLoadStrategy
pageLoadStrategy를 "normal"로 설정하여 'document.readyState'가 "complete"가 되도록 보장할 수 있지만 완벽하지는 않습니다. JavaScript 및 Ajax 호출이 여전히 미해결 상태일 수 있으므로 추가 조치가 필요할 수 있습니다.
무한 대기
"jQuery.active == 0"을 기다리거나 titleContains와 함께 WebDriverWait를 사용하는 것과 같은 접근 방식 ()에는 무기한 대기 시간이 포함됩니다.
표시 요소 대기
구체적인 방법은 visibleOfElementLocated()와 함께 WebDriverWait를 사용하는 것입니다. 이렇게 하면 프로그램이 원하는 요소가 표시될 때까지 기다리게 되어 요소가 완전히 로드되었는지 더욱 정확하게 확인할 수 있습니다.
추가 참조
자세한 내용은 다음을 참조하세요. 다음 리소스는 다음과 같습니다.
결론
Selenium에는 페이지 로드 완료를 확인하는 일반적인 기능이 없지만 , PageLoadStrategy, "jQuery.active == 0", 무기한 대기 등 논의된 기술을 사용하여 표시 요소가 대기하면 페이지 로드 진행 상황을 효과적으로 평가할 수 있습니다.
위 내용은 Selenium에서 웹 페이지 로드 완료를 안정적으로 확인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!