< prev index next >
application/uitests/org.openjdk.jmc.flightrecorder.uitest/src/test/java/org/openjdk/jmc/flightrecorder/uitest/JfrThreadsPageTest.java
Print this page
*** 39,80 ****
import org.openjdk.jmc.test.jemmy.MCJemmyTestBase;
import org.openjdk.jmc.test.jemmy.MCUITestRule;
import org.openjdk.jmc.test.jemmy.misc.wrappers.MCChartCanvas;
import org.openjdk.jmc.test.jemmy.misc.wrappers.JfrNavigator;
import org.openjdk.jmc.test.jemmy.misc.wrappers.JfrUi;
import org.openjdk.jmc.test.jemmy.misc.wrappers.MCMenu;
import org.openjdk.jmc.test.jemmy.misc.wrappers.MCTable;
public class JfrThreadsPageTest extends MCJemmyTestBase {
private static final String PLAIN_JFR = "plain_recording.jfr";
private static final String TABLE_COLUMN_HEADER = "Thread";
private static final String HIDE_THREAD = org.openjdk.jmc.flightrecorder.ui.messages.internal.Messages.ThreadsPage_HIDE_THREAD_ACTION;
private static final String RESET_CHART = org.openjdk.jmc.flightrecorder.ui.messages.internal.Messages.ThreadsPage_RESET_CHART_TO_SELECTION_ACTION;
private static MCChartCanvas chartCanvas;
private static MCTable threadsTable;
@Rule
public MCUITestRule testRule = new MCUITestRule(verboseRuleOutput) {
@Override
public void before() {
JfrUi.openJfr(materialize("jfr", PLAIN_JFR, JfrThreadsPageTest.class));
JfrNavigator.selectTab(JfrUi.Tabs.THREADS);
- threadsTable = MCTable.getByColumnHeader(TABLE_COLUMN_HEADER);
chartCanvas = MCChartCanvas.getChartCanvas();
}
@Override
public void after() {
MCMenu.closeActiveEditor();
}
};
@Test
public void testMenuItemEnablement() {
final int numThreads = threadsTable.getItemCount();
Assert.assertTrue(numThreads > 0);
Assert.assertFalse(chartCanvas.isContextMenuItemEnabled(RESET_CHART));
Assert.assertTrue(chartCanvas.isContextMenuItemEnabled(HIDE_THREAD));
--- 39,122 ----
import org.openjdk.jmc.test.jemmy.MCJemmyTestBase;
import org.openjdk.jmc.test.jemmy.MCUITestRule;
import org.openjdk.jmc.test.jemmy.misc.wrappers.MCChartCanvas;
import org.openjdk.jmc.test.jemmy.misc.wrappers.JfrNavigator;
import org.openjdk.jmc.test.jemmy.misc.wrappers.JfrUi;
+ import org.openjdk.jmc.test.jemmy.misc.wrappers.MCButton;
import org.openjdk.jmc.test.jemmy.misc.wrappers.MCMenu;
import org.openjdk.jmc.test.jemmy.misc.wrappers.MCTable;
+ import org.openjdk.jmc.test.jemmy.misc.wrappers.MCText;
+ import org.openjdk.jmc.test.jemmy.misc.wrappers.MCToolBar;
+ import org.openjdk.jmc.ui.UIPlugin;
public class JfrThreadsPageTest extends MCJemmyTestBase {
private static final String PLAIN_JFR = "plain_recording.jfr";
private static final String TABLE_COLUMN_HEADER = "Thread";
+ private static final String OK_BUTTON = "OK";
+ private static final String RESET_BUTTON = "Reset";
+ private static final String FILTER_BUTTON = "Filter";
+ private static final String START_TIME = "08:06:19:489";
+ private static final String NEW_START_TIME = "08:06:19:500";
+ private static final String DEFAULT_ZOOM = "100.00 %";
private static final String HIDE_THREAD = org.openjdk.jmc.flightrecorder.ui.messages.internal.Messages.ThreadsPage_HIDE_THREAD_ACTION;
private static final String RESET_CHART = org.openjdk.jmc.flightrecorder.ui.messages.internal.Messages.ThreadsPage_RESET_CHART_TO_SELECTION_ACTION;
+ private static final String TABLE_TOOLTIP = org.openjdk.jmc.flightrecorder.ui.messages.internal.Messages.ThreadsPage_VIEW_THREAD_DETAILS;
+ private static final String TABLE_SHELL_TEXT = org.openjdk.jmc.flightrecorder.ui.messages.internal.Messages.ThreadsPage_TABLE_POPUP_TITLE;
private static MCChartCanvas chartCanvas;
private static MCTable threadsTable;
@Rule
public MCUITestRule testRule = new MCUITestRule(verboseRuleOutput) {
@Override
public void before() {
JfrUi.openJfr(materialize("jfr", PLAIN_JFR, JfrThreadsPageTest.class));
JfrNavigator.selectTab(JfrUi.Tabs.THREADS);
chartCanvas = MCChartCanvas.getChartCanvas();
}
@Override
public void after() {
MCMenu.closeActiveEditor();
}
};
@Test
+ public void testResetButtons() {
+ MCText StartTimeField = MCText.getByText(START_TIME);
+ MCText zoomDisplay = MCText.getByText(DEFAULT_ZOOM);
+ MCButton filterBtn = MCButton.getByLabel(FILTER_BUTTON);
+ MCButton resetBtn = MCButton.getByLabel(RESET_BUTTON);
+ MCButton scaleToFitBtn = MCButton.getByImage(
+ UIPlugin.getDefault().getImage(UIPlugin.ICON_FA_SCALE_TO_FIT));
+
+ StartTimeField.setText(NEW_START_TIME);
+ filterBtn.click();
+ Assert.assertNotEquals(START_TIME, StartTimeField.getText());
+ Assert.assertNotEquals(zoomDisplay.getText(), DEFAULT_ZOOM);
+
+ resetBtn.click();
+ Assert.assertEquals(START_TIME, StartTimeField.getText());
+ Assert.assertEquals(zoomDisplay.getText(), DEFAULT_ZOOM);
+
+ StartTimeField.setText(NEW_START_TIME);
+ filterBtn.click();
+ Assert.assertNotEquals(START_TIME, StartTimeField.getText());
+ Assert.assertNotEquals(zoomDisplay.getText(), DEFAULT_ZOOM);
+
+ scaleToFitBtn.click();
+ Assert.assertEquals(zoomDisplay.getText(), DEFAULT_ZOOM);
+ Assert.assertEquals(START_TIME, StartTimeField.getText());
+ }
+
+ @Test
public void testMenuItemEnablement() {
+ openThreadsTable();
final int numThreads = threadsTable.getItemCount();
+ closeThreadsTable();
+
Assert.assertTrue(numThreads > 0);
Assert.assertFalse(chartCanvas.isContextMenuItemEnabled(RESET_CHART));
Assert.assertTrue(chartCanvas.isContextMenuItemEnabled(HIDE_THREAD));
*** 90,106 ****
--- 132,154 ----
}
@Test
public void testHideAllThreads() {
final int numSelection = 7;
+
+ openThreadsTable();
final int numThreads = threadsTable.getItemCount();
+ closeThreadsTable();
+
Assert.assertTrue(numThreads > 0 && numThreads >= numSelection);
Assert.assertTrue(chartCanvas.isContextMenuItemEnabled(HIDE_THREAD));
Assert.assertFalse(chartCanvas.isContextMenuItemEnabled(RESET_CHART));
+ openThreadsTable();
// Select a limited number of threads in the chart using the table
threadsTable.selectItems(0, numSelection - 1);
+ closeThreadsTable();
// Hide all the threads from the chart
for (int i = 0; i < numSelection; i++) {
chartCanvas.clickContextMenuItem(HIDE_THREAD);
}
*** 113,119 ****
// Verify the menu item isEnabled values are back to their default values
Assert.assertTrue(chartCanvas.isContextMenuItemEnabled(HIDE_THREAD));
Assert.assertFalse(chartCanvas.isContextMenuItemEnabled(RESET_CHART));
}
- }
--- 161,203 ----
// Verify the menu item isEnabled values are back to their default values
Assert.assertTrue(chartCanvas.isContextMenuItemEnabled(HIDE_THREAD));
Assert.assertFalse(chartCanvas.isContextMenuItemEnabled(RESET_CHART));
}
+ @Test
+ public void testPopupTableSelection() {
+ openThreadsTable();
+ final int numSelection = 7;
+ final int numThreads = threadsTable.getItemCount();
+ Assert.assertTrue(numThreads > 0 && numThreads >= numSelection);
+
+ threadsTable.selectItems(0, numSelection - 1);
+ int originalSelection = threadsTable.getSelectionCount();
+ Assert.assertEquals(numSelection, originalSelection);
+ closeThreadsTable();
+
+ openThreadsTable();
+ int newSelection = threadsTable.getSelectionCount();
+ Assert.assertEquals(newSelection, originalSelection);
+ closeThreadsTable();
+ }
+
+ private void openThreadsTable() {
+ if (threadsTable == null) {
+ MCToolBar.focusMc();
+ MCToolBar tb = MCToolBar.getByToolTip(TABLE_TOOLTIP);
+ tb.clickToolItem(TABLE_TOOLTIP);
+ threadsTable = MCTable.getByColumnHeader(TABLE_SHELL_TEXT, TABLE_COLUMN_HEADER);
+ }
+ }
+
+ private void closeThreadsTable() {
+ if (threadsTable != null) {
+ MCButton okButton = MCButton.getByLabel(TABLE_SHELL_TEXT, OK_BUTTON);
+ okButton.click();
+ threadsTable = null;
+ MCToolBar.focusMc();
+ }
+ }
+
+ }
< prev index next >