HTTP 응답 코드

Selenium RC의 일부 브라우저 구성에서 Selenium은 자동화되고 있는 브라우저와 사이트 사이의 프록시 역할을 했다. 이것은 셀레니움을 통과하는 모든 브라우저 트래픽이 캡처되거나 조작될 수 있다는 것을 의미했다. captureNetworkTraffic() 방법은 HTTP 응답 코드를 포함하여 자동화되고 있는 브라우저와 사이트 사이의 모든 네트워크 트래픽을 캡처하기 위한 것이다.

Selenium WebDriver는 브라우저 자동화에 대한 완전히 다른 접근방식으로, 사용자처럼 행동하는 것을 선호한다. 이는 당신이 WebDriver로 시험을 작성하는 방식으로 표현된다. 자동 기능 테스트에서 상태 코드 확인은 테스트 실패의 특별히 중요한 세부 사항은 아니다; 그 이전의 단계들이 더 중요하다.

브라우저는 항상 HTTP 상태 코드, 예를 들어 404 또는 500 오류 페이지를 나타낸다. 이러한 오류 페이지 중 하나에 부딪쳤을 때 “빠르게 실패"하는 간단한 방법은 페이지 로드 때마다 신뢰할 수 있는 지점(예: “h1” 태그)의 페이지 제목이나 내용을 확인하는 것이다. 페이지 개체 모델을 사용하는 경우, 이 검사를 클래스 생성자 또는 페이지 로드가 예상되는 유사한 지점에 포함할 수 있다. 때때로, HTTP 코드는 브라우저의 에러 페이지에 표시될 수 있고 당신은 이것을 읽고 당신의 디버깅 출력을 향상시키기 위해 WebDriver를 사용할 수 있다.

웹페이지 자체를 확인하는 것은 웹브라이버의 이상적인 관행과 일치한다.

당신이 주장한다면, HTTP 상태 코드를 캡처하는 고급 해결책은 프록시를 사용하여 Selenium RC의 행동을 복제하는 것이다. WebDriver API는 브라우저의 프록시를 설정할 수 있는 기능을 제공하며, 웹 서버로부터 송수신되는 요청의 내용을 프로그램적으로 조작할 수 있는 다수의 프록시가 있다. 프록시를 사용하면 리디렉션 응답 코드에 응답할 방법을 결정할 수 있다. 또한, 모든 브라우저가 WebDriver에서 응답 코드를 사용할 수 있게 하는 것은 아니므로, 프록시를 사용하기로 선택하면 모든 브라우저에 적합한 솔루션을 가질 수 있다.