package org.jboss.tools.dummy.ui.bot.test; import static org.junit.Assert.*; import org.jboss.reddeer.common.logging.Logger; import org.jboss.reddeer.jface.preference.PreferencePage; import org.jboss.reddeer.junit.screenshot.CaptureScreenshotException; import org.jboss.reddeer.junit.screenshot.ImageTool; import org.jboss.reddeer.junit.screenshot.ScreenshotCapturer; import org.jboss.reddeer.workbench.impl.shell.WorkbenchShell; import org.jboss.reddeer.workbench.ui.dialogs.WorkbenchPreferenceDialog; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; /** * Dummy bot tests - designed to test Jenkins slaves * @author jpeterka * */ public class DummyTest { private Logger log = Logger.getLogger(DummyTest.class); private boolean screenshotTaken = false; @BeforeClass public static void before() { } @Test public void dummyTest() { WorkbenchPreferenceDialog preferenceDialog = new WorkbenchPreferenceDialog(); preferenceDialog.open(); PreferencePage preferencePage = new PreferencePage("General") { }; preferenceDialog.select(preferencePage); // Take a screenshot if (!screenshotTaken) { ScreenshotCapturer sc = ScreenshotCapturer.getInstance(); try { screenshotTaken = true; String path = sc.captureScreenshot("dummyOK.png"); ImageTool it = ImageTool.getInstance(); boolean isScreenshotBlank = it.isImageBlank(path); if (isScreenshotBlank) log.error("Screenshot " + path + " is blank"); else log.info("Screenshot " + path + " has visible content"); assertTrue("Screenshot " + path + " should not be blank", !isScreenshotBlank ); } catch (CaptureScreenshotException e) { log.error("Cannot capture screenshot:" + e.getMessage(), e); } } preferenceDialog.cancel(); new WorkbenchShell(); } @Test public void hundredTimesDummyTest() { final int cycles = 100; for (int i = 0 ; i < cycles ; i++) { dummyTest(); log.info(i+1 + "/" + cycles + " try passed"); } } @AfterClass public static void after() { } }