PHPUnit을 사용하여 애플리케이션 코드를 분리하고 테스트하는 동안 QA 팀은 Selenium으로 UI를 테스트 해 왔습니다. 테스트가 완료되는 데 10 시간 이상이 걸린다는 소식을 들었습니다. 너무 길다고 생각합니다. 내 질문은 정말 페이지를 처리 할 때 AJAX 호출을 기다리는 방법에 관한 것입니다.Selenium으로 웹 페이지를 테스트하는 방법
예를 들어, AJAX 호출을 호출하여 표시 할 데이터에 대해 Google 서비스와 통신하는 수많은 입력이있는 페이지가 있습니다. 우리는 후속 선택 상자가 변경 될 때이를 필터링하는 여러 입력을가집니다. (지역에 속하는)을 (부문에 속하는) 지구 저장
Division 1
+- District 10
+- Store 100
+- Store 101
+- Store 102
+- District 11
+- Store 200
+- Store 201
+- Store 202
Division 2
+- District 20
+- Store 300
+- Store 301
+- Store 302
+- District 21
+- Store 150
+- Store 151
+- Store 2002
...
이제 선택 박스 모두 초기로드만큼
사단 모든로드되므로, 최종 사용자가 임의의 선택할 수있다 그들의. 그러나 선택 상자에 선택이 있으면 AJAX는 부모 선택에 따라 다른 선택 상자를 다시로드합니다. IE : Division 2를 선택한 다음 구역 목록은 20 번째 및 21 번째 구역 (서비스 호출 사용)으로 필터링되며 저장소 목록은 해당 구역의 상점에만 필터입니다.
부문을 선택하지 않고 지구를 선택하면 백엔드에서 Google 서비스를 다시 사용하여 해당 매장의 상점에만 상점 목록이 다시 채워집니다.
내 질문은 AJAX 호출이 우리 서비스에서 반환 된 시간을 알고 선택 상자가 변경된 방법을 알고 싶습니다. 우리 QA 팀이 기다리고 있습니다. 그런 다음 선택 상자를 반복하여 반환 된 값이 모두 올바른지 확인하십시오. 선택 상자가 다시로드되면 언제 알 수있는 방법이 있습니까? 그러면 내용을 확인할 수 있습니까?
분명히, 우리는 서비스 작업을 검증하기 위해 모의 객체를 사용하여 이러한 검사의 대부분을 PHPUnit 테스트로 이동하려고하지만 QA 팀은 여전히 실제 렌더링 된 결과가 일치하는지 확인하려고합니다.
의견을 보내 주시면 감사하겠습니다. 문제를 정확히 파악
고마워요. 요소가 있다는 문제가 있지만 데이터로드 시점을 알고 싶습니다 (선택 상자 생각, 현재 선택 항목 및 이전 선택 상자 변경 내용). 상자를 다시로드 할 때 이전에 채워진 요소를 기반으로 올바른 내용을 포함하는지 테스트하고 싶습니다. 엘리먼트가 항상 존재하기 때문에, AJAX 호출이 끝나기 전에 .FindElement가 작동하지 않습니다. –
확실한 친구는 ... 당신을 돕고 싶습니다 ... 이미 존재하는 요소의 HTML 코드를 게시하고 Ajax 호출 완료 후 데이터가로드 될 수 있습니까? – Anuragh27crony
몇 가지 샘플 코드를 작성해야합니다. QA 부서를 요청하고 있습니다. 우리 페이지가 생성되고 꽤 큽니다. 샘플을 만들어 보겠습니다. 원래 질문을 업데이트 할 수 있습니다. 도와 주셔서 감사합니다. –