SWTBOT를 사용하여 헤드리스 모드에서 테스트를 실행하는 동안 SWT 대화 상자 처리

StackOverflow https://stackoverflow.com/questions/1907646

문제

SWT를 사용하여 구축 된 Eclipse 응용 프로그램에서 Junit 테스트 케이스를 실행하고 있습니다. SWTBOT을 사용하여 GUI 테스트를하고 있습니다. 그래서 여기 내 문제가 있습니다.

editor.bot().button("Make Excel Template").click();

이 코드는 응용 프로그램에서 템플릿을 생성하는 데 도움이됩니다. 일단 완료되면 "OK"로 메시지로 모달 대화를합니다. 그러나 SWTBOT 가이 버튼/위젯/대화 상자를 찾을 수는 없습니다. 나는 계속 'WidgetNotFoundException'을 얻습니다.

누군가 이것을 발견 했습니까? SWTBOT 웹 사이트의 공식 콘텐츠에 따르면 대화 상자는 별도의 비 UI 스레드에서 실행되어야한다고합니다. 그러나 제공된 예제는 그다지 유익하지 않습니다.

당신의 도움을 주셔서 감사합니다!

도움이 되었습니까?

해결책 2

@carstenlez- 솔루션은 Jface 대화 상자에 적합합니다. 그러나 내 앱은 기본 대화 상자 인 MessageBox를 사용하는 것입니다. SWTBOT는 기본 대화 상자를 지원하지 않으므로 옵션이 거의 없습니다.

다른 팁

먼저 비 UI 스레드에서 테스트를 실행해야합니다 (아직 그렇게하지 않은 경우). 둘째, 대화 상자를 가져 오는 조치를 실행 한 후 모달 대화 상자가 나타날 때까지 조건을 사용하여 다음을 수행 할 수 있습니다.

bot.waitUntil(Conditions.shellIsActive("This is the title of the modal dialog "));
bot.button("OK").click();

이것은 우리의 타이밍 문제를 해결했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top