2011-12-29 3 views
0

java.awt.Robot을 사용하여 테스트중인 애플리케이션을 조작하는 커스텀 테스트 러너가 수정됩니다.
각 간단한 조작 (일부 구성 요소에 마우스 mote, 마우스 클릭) 후 테스트 대기중인 응용 프로그램에 대한 테스트 주자가 이벤트를 처리해야합니다. 그리고 그 후에 만 ​​값을 확인하고 다른 버튼을 클릭하십시오.
이벤트 대기열이 비워질 때까지 기다릴 수있는 Robot.waitForIdle() 함수가 있습니다.
하지만 초기 검사 값으로 인한 동기화 문제가 있습니다 (일부 백그라운드 스레드에서는 계산되지 않지만 EDT 스레드에서는 계산되지 않는 값을 가정합니다).
내 생각 엔 로봇이 이벤트 대기열에 이벤트를 직접 넣지 않았기 때문입니다. 그러나 이것은 로봇이 생성 한 새 이벤트를 JVM 이벤트 대기열에 넣기 위해 기본 OS에 유리합니다. 그리고이 원시 호출은 비동기 적이기 때문에 SwingUtilities.invokeLater()와 다른 JVM 스레드는 이벤트 큐에 새 이벤트를 넣지 않습니다.테스트 러너와 테스트중인 애플리케이션을 동기화하십시오.

기본 OS에서 새 이벤트를 이벤트 대기열에 넣거나 결정하기 위해 일부 후크를 구현할 수 있습니까?
누락 된 항목이 있습니까?

감사합니다.

답변

관련 문제