Selenium을 사용하여 몇 가지 테스트를 작성하려고하는 GWT 애플리케이션이 있습니다.XPath를 사용하여 보이는 요소 만 어떻게 선택합니까?
XPath를 사용하여 테스트 페이지의 요소를 식별합니다. id
을 사용하면 id
값이 GWT에 의해 자동 생성되어 변경 될 수 있으므로 작동하지 않습니다. 나는 다음과 같이 내가 그들의 라벨로 버튼을 찾을 수 깨달았을 때 상황이 잘 진행 시작일 :
//button[.='OK']
을하지만, 내가 문제가 시작 여러 테스트를 실행하기 시작했을 때. 나는이 문제점이 JavaScript에 의해 생성 된 GWT 앱의 모든 다른 "페이지"가 숨겨진 <div>
요소의 HTML에 남아 있다는 것을 깨달았다. 이것은 셀레늄 테스트가 때때로 현재 뷰에서 볼 수있는 버튼 대신 숨겨진 버튼을 클릭한다는 것을 의미했습니다.
Firebug으로 HTML을 검사하면 style
속성에 display: none
을 추가하여 GWT가 <div>
요소를 숨 깁니다. 이것은 다음과 같이 내가 모든 숨겨진 OK 버튼을 찾을 수 있다는 것을 의미합니다 :
//div[contains(@style,'display: none')]//button[.='OK']
이는 style
에 display: none
을함으로써 숨겨진 조상 <div>
이 버튼 즉 모든 숨겨진 OK 버튼을 찾을 수 있습니다.
내 질문은 : 어떻게 표시 가능한 확인 단추 만 찾으려면 XPath를 사용합니까? 요소가있는 버튼이 display: none
인 style
에있는 것을 어떻게 찾을 수 있습니까?
을 찾을 수 있습니다. 많은 감사합니다. –
숨겨진 DOM 트리에 다른 div가있는 경우 마지막으로 작동하지 않습니다.
– Fortega@Fortega 및 그 텍스트 주위에 말합니다 –