2010-03-01 4 views
1

변경 이벤트가 jQuery을 사용하여 요소에 바인딩 된 선택 목록이 있습니다. 이 같은 것 :Watij을 사용하여 jQuery 변경 이벤트 테스트

$("#someId").change(function() {..}); 

누군가가 선택 목록에서 새 옵션을 선택하면 그에 따라 UI의 다른 부분이 변경됩니다. 이제는 마우스를 사용하여 물건을 클릭하면 잘 작동하지만 Watij을 사용하여 테스트를 작성하면 jQuery 변경 이벤트가 실행되지 않아도됩니다.

Watij 테스트는 필요한 선택 옵션을 올바르게 선택하지만 실제 이벤트는 트리거되지 않습니다. 나는 fireevent("change");fireevent("onchange");을 쓸모 없게 시도했다. 나는 또한 ie.sendKeys("{ENTER}");ie.sendKeys("{TAB}");도 시도했지만 트릭을하지 않는 것 같습니다.

아이디어가 있으십니까?

답변

1

지금까지 발견 한 유일한 해결책은 사용중인 jQuery 버전을 롤백하는 것입니다. 현재 버전 1.4.1 (선택 상자에서 변경 이벤트의 테스트 가능성과 관련하여 문제가되는 버전)을 사용하고 있으며 버전 1.2.6으로 돌아간 후에 문제가 사라집니다.

1

$('#someId').trigger('change');을 사용하여 이벤트를 수동으로 실행하십시오.

trigger()에 대한 설명서를 참조하십시오.

0

스크립트를 사용하여 콤보/목록 값을 변경하면 onchange가 실행되지 않습니다. Watij가 그 일을 어떻게하는지 모르지만, 이것은 하나의 경우입니다.

두 번째로 Watij는 IE (위키 피 디아가 rght 인 한)와 협력하고 있으며 IE는 귀하의 목록이나 콤보 대신 시스템 제어를 가하고 있습니다. 조금 더 나은 양식 구성 요소를 구현하는 IE8로 업그레이드하십시오 (예 : select가 finally에서 옵션에서 "disabled"속성을 10 년 후 지원합니다).

일반 응용 프로그램 GUI 테스트 응용 프로그램에 관심이 있으며 webapp가있는 브라우저. 매크로를 기록하고 스크린 샷을 확인하십시오.