use of org.fest.swing.fixture.JPopupMenuFixture in project ats-framework by Axway.
the class SwingPopupMenu method click.
/**
* Click pop-up element
* @throws VerificationException if the element doesn't exist
*/
@PublicAtsApi
public void click() {
new SwingElementState(this).waitToBecomeExisting();
((JPopupMenuFixture) SwingElementLocator.findFixture(this)).click();
}
use of org.fest.swing.fixture.JPopupMenuFixture in project ats-framework by Axway.
the class SwingMultiSelectList method rightClick.
/**
*
* @param contextMenuItems context menu items to select
*/
@PublicAtsApi
public void rightClick(String... contextMenuItems) {
new SwingElementState(this).waitToBecomeExisting();
JListFixture listFixture = ((JListFixture) SwingElementLocator.findFixture(this));
JPopupMenuFixture popUpMenu = listFixture.showPopupMenu();
popUpMenu.menuItemWithPath(contextMenuItems).click();
}
use of org.fest.swing.fixture.JPopupMenuFixture in project android by JetBrains.
the class ChooseDeviceDefinitionStepFixture method deleteHardwareProfile.
@NotNull
public ChooseDeviceDefinitionStepFixture deleteHardwareProfile(@NotNull final String deviceName) {
JTableFixture deviceListFixture = getTableFixture();
deviceListFixture.cell(deviceName).click(RIGHT_BUTTON);
JPopupMenuFixture contextMenuFixture = new JPopupMenuFixture(robot(), robot().findActivePopupMenu());
contextMenuFixture.menuItemWithPath("Delete").click();
MessagesFixture.findByTitle(robot(), "Confirm Deletion").clickYes();
Wait.seconds(1).expecting("device to be deleted").until(() -> !deviceNames().contains(deviceName));
return this;
}
use of org.fest.swing.fixture.JPopupMenuFixture in project ats-framework by Axway.
the class SwingElementLocator method findFixture.
public static ComponentFixture<? extends Component> findFixture(UiElement uiElement) {
SwingDriverInternal driver = (SwingDriverInternal) uiElement.getUiDriver();
ContainerFixture<?> containerFixture = (ContainerFixture<?>) driver.getActiveContainerFixture();
Class<? extends Component> componentClass = componentsMap.get(uiElement.getClass());
try {
if (componentClass.equals(JButton.class)) {
return (ComponentFixture<? extends Component>) new JButtonFixture(containerFixture.robot, (JButton) findElement(uiElement));
} else if (componentClass.equals(JTextComponent.class)) {
return (ComponentFixture<? extends Component>) new JTextComponentFixture(containerFixture.robot, (JTextComponent) findElement(uiElement));
} else if (componentClass.equals(JMenuItem.class)) {
if (uiElement.getElementProperty("path") != null) {
return containerFixture.menuItemWithPath(uiElement.getElementProperty("path").split("[\\,\\/]+"));
} else {
return (ComponentFixture<? extends Component>) new JMenuItemFixture(containerFixture.robot, (JMenuItem) findElement(uiElement));
}
} else if (componentClass.equals(JPopupMenu.class)) {
return (ComponentFixture<? extends Component>) new JPopupMenuFixture(containerFixture.robot, (JPopupMenu) findElement(uiElement));
} else if (componentClass.equals(JTree.class)) {
return (ComponentFixture<? extends Component>) new JTreeFixture(containerFixture.robot, (JTree) findElement(uiElement));
} else if (componentClass.equals(JList.class)) {
return (ComponentFixture<? extends Component>) new JListFixture(containerFixture.robot, (JList) findElement(uiElement));
} else if (componentClass.equals(JCheckBox.class)) {
return (ComponentFixture<? extends Component>) new JCheckBoxFixture(containerFixture.robot, (JCheckBox) findElement(uiElement));
} else if (componentClass.equals(JToggleButton.class)) {
return (ComponentFixture<? extends Component>) new JToggleButtonFixture(containerFixture.robot, (JToggleButton) findElement(uiElement));
} else if (componentClass.equals(JComboBox.class)) {
return (ComponentFixture<? extends Component>) new JComboBoxFixture(containerFixture.robot, (JComboBox) findElement(uiElement));
} else if (componentClass.equals(JRadioButton.class)) {
return (ComponentFixture<? extends Component>) new JRadioButtonFixture(containerFixture.robot, (JRadioButton) findElement(uiElement));
} else if (componentClass.equals(JTable.class)) {
return (ComponentFixture<? extends Component>) new JTableFixture(containerFixture.robot, (JTable) findElement(uiElement));
} else if (componentClass.equals(JSpinner.class)) {
return (ComponentFixture<? extends Component>) new JSpinnerFixture(containerFixture.robot, (JSpinner) findElement(uiElement));
} else if (componentClass.equals(JTabbedPane.class)) {
return (ComponentFixture<? extends Component>) new JTabbedPaneFixture(containerFixture.robot, (JTabbedPane) findElement(uiElement));
} else if (componentClass.equals(JOptionPane.class)) {
return (ComponentFixture<? extends Component>) containerFixture.optionPane();
} else if (componentClass.equals(JLabel.class)) {
return (ComponentFixture<? extends Component>) new JLabelFixture(containerFixture.robot, (JLabel) findElement(uiElement));
} else if (componentClass.equals(Component.class)) {
return new ComponentFixture<Component>(containerFixture.robot, findElement(uiElement)) {
};
} else if (componentClass.equals(JFileChooser.class)) {
// TODO - might be searched by name too
return containerFixture.fileChooser(Timeout.timeout(UiEngineConfigurator.getInstance().getElementStateChangeDelay()));
} else {
throw new ElementNotFoundException(uiElement.toString() + " not found. No such Fixture");
}
} catch (ComponentLookupException cle) {
throw new ElementNotFoundException(uiElement.toString() + " not found.", cle);
} catch (WaitTimedOutError exc) {
// thrown for OptionPane search, wait for Window (BasicRobot.waitForWindow), AbstractJTableCellWriter, JTreeDriver.waitForChildrenToShowUp, each Pause wait
throw new ElementNotFoundException(uiElement.toString() + " not found.", exc);
}
}
use of org.fest.swing.fixture.JPopupMenuFixture in project ats-framework by Axway.
the class SwingPopupMenu method getVisibleMenuLabels.
/**
* Getting only visible menu labels/texts
*
* @return an array with the visible menu labels/texts only
*/
@PublicAtsApi
public String[] getVisibleMenuLabels() {
new SwingElementState(this).waitToBecomeExisting();
JPopupMenuFixture popupMenuFixture = (JPopupMenuFixture) SwingElementLocator.findFixture(this);
String[] labels = popupMenuFixture.menuLabels();
List<String> visibleLabels = new ArrayList<String>(labels.length);
for (final String label : labels) {
JMenuItemFixture menuItemFixture = popupMenuFixture.menuItem(new GenericTypeMatcher<JMenuItem>(JMenuItem.class, false) {
@Override
protected boolean isMatching(JMenuItem menuItem) {
String text = menuItem.getText();
if (text != null && text.equals(label)) {
return true;
}
return false;
}
});
if (menuItemFixture != null && menuItemFixture.component().isVisible()) {
visibleLabels.add(label);
}
}
return visibleLabels.toArray(new String[0]);
}
Aggregations