Я создал элемент управления для отображения изображений, и для его проверки я создаю «снимки экрана» элемента управления и сравниваю их с ожидаемыми. Скриншоты создаются так:
protected Image createScreenshot(Control control) {
final GC gc = new GC(control);
try {
final Point size = control.getSize();
final Image result = new Image(control.getDisplay(), size.x, size.y);
gc.copyArea(result, 0, 0);
return result;
} finally {
gc.dispose();
}
}
Хорошо работает при запуске из IDE, но при запуске в автономном режиме с нашего CI-сервера изображение не отображается. Я попытался сделать снимок окружающего Shell
, но на скриншоте Shell
тоже белое изображение.
Я попробовал следующие способы, чтобы попытаться заставить скриншот работать:
Control#redraw();
Control#update();
Они не работали.
Есть ли способ визуализации элементов управления даже в режиме без головы?