SWTBOT를 사용하여 헤드리스 모드에서 테스트를 실행하는 동안 SWT 대화 상자 처리
-
19-09-2019 - |
문제
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();
이것은 우리의 타이밍 문제를 해결했습니다.
제휴하지 않습니다 StackOverflow