상황 : 내 응용 프로그램에 지점을 추가 : 내 RSpec에에서 (루비와 카피 바라를 사용하여)는내 rspec에서 요소 (버튼)가 "클릭 가능"한지 감지 할 수 있습니까?
- 내 응용 프로그램에서 작업을 테스트하기 위해 링크를 클릭합니다.
- 모달 창이 열리고, 분기를 선택한 다음 "제출"버튼을 클릭하여 내 응용 프로그램에 분기를 추가합니다. "제출"을 클릭하면 모달 창이 닫힙니다.
- rspecs는 주 화면에서 "저장"을 클릭하여 응용 프로그램의 상태를 저장하고 효과적으로 분기 저장을 저장합니다.
문제 : (겉보기)는 분기를 선택하는 데 사용되는 모달 윈도우가 여전히 존재하는 동안 메인 화면에 "저장"버튼을 클릭하려고하기 때문에 RSpec에 실패한다. 이 테스트는 "저장"버튼 구성 요소를 찾을 수 없다는 불평은하지 않지만 클릭 할 수는 없습니다.
로그의 오류는 다음과 같습니다
[...]Save</button> is not clickable at point (692, 23). Other element would receive the click[...]
잡았다이 RSpec에는 내 로컬 서버에 대해 실행할 때와 같은 일부 환경에서 제대로 통과,하지만 때 실패 우리의 자동화 서버에 의해 실행됩니다. 따라서이 테스트는 "벗겨지기 쉬운"것으로 태그되었습니다.
잠재적 인 솔루션 : 우리가 지금까지 시도하는 것 : 우리의 "클릭 구성"주위
플레이, 우리가 "준비 상태"와 모달 창이 사라지고 있음을 확신하고. 우리가 계속 같은 오류를 범했기 때문에 우리는 이것으로 실패했습니다.
"대기"를 구현하십시오. (가) 존재 모달 윈도우의 버튼을 "제출"경우 모달 창
XYZ.add_new_branch_name(@branch_name) while Utilities.element_visible?(:xpath, myElement) sleep(0.5) end XYZ.save
그동안 조건 검사를 존재하는 듯하면서 우리는 조금만 잠 루프를 추가했다. element_visible 기능은 find 이미 버튼이 존재하고 볼 수 있지만 클릭하지 않을 수 있음을 고려하는 경우는
find(method,element).visible?
하지만 는 잘 모르겠어요 사용합니다. 이 이후
여전히 우리는 "저장"버튼을 클릭하기 전에 모달이 사라 있는지 확인하기 위해 우리의 모든 노력에도 불구하고, 실패 물어 어린 아이 원하는 :
적절한 방식이 있습니까 모달 윈도우 뒤에있는 요소가 클릭 가능 여부를 감지합니다. 또는 rspecs를 사용하지 않습니까?