2012-11-20 11 views
1

Grails 애플리케이션에서 Geb를 사용하여 동일한 테스트를 수행하는 동안 테스트는 runned가 디폴트의 HtmlUnitDriver와 함께 수행됩니다. 내가 ChromeDriver로 변경 할 때, 나는 수신 된크롬 드라이버를 사용할 때 셀렌 예외가 발생합니다.

그러나,

org.openqa.selenium.InvalidElementStateException : 요소가 현재 상호 작용 가능한 하지 않고

를 조작 할 수 없습니다 로그인을 테스트 할 때 페이지.

emailField (id '#username'을 통해 선택됨)를 설정 한 직후 예외가 발생했습니다. 이상한 것은 브라우저가 필드의 값을 설정하는 것을보고 있었지만 그 다음 (그리고 코드의 다음 줄을 실행하기 전에) 예외를 throw했습니다.

답변

4

로그인 페이지가 id = "username"(숨겨진 필드 중 하나) 인 2 개의 요소를 가졌음을 발견했습니다. 그 이유는 예외였습니다. 로그인 페이지의 ID를 다른 값으로 변경하고 선택기를 업데이트하면 문제가 해결되었습니다.

-1

팝업 창에서 텍스트 필드에 액세스하려고 할 때 동일한 예외가 발생했습니다.

org.openqa.selenium.InvalidElementStateException: Element is not currently interactable and may not be manipulated 

나는 창문이 두 위치에 표시되어 있는지 깨달았다 실제로는 XPath가 팝업 창에서 텍스트 필드를 식별하는 데 사용되는 나에게 방화 광 + FirePath 플러그인에서이 개 결과를 보여주는 것을 확인했습니다.

두 번째 팝업 창의 텍스트 필드를 고유하게 식별하고 문제가 해결되도록 Xpath를 업데이트했습니다.

관련 문제