Search in sources :

Example 6 with JMenuItemFixture

use of org.fest.swing.fixture.JMenuItemFixture 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]);
}
Also used : JPopupMenuFixture(org.fest.swing.fixture.JPopupMenuFixture) SwingElementState(com.axway.ats.uiengine.utilities.swing.SwingElementState) ArrayList(java.util.ArrayList) JMenuItemFixture(org.fest.swing.fixture.JMenuItemFixture) JMenuItem(javax.swing.JMenuItem) PublicAtsApi(com.axway.ats.common.PublicAtsApi)

Aggregations

JMenuItemFixture (org.fest.swing.fixture.JMenuItemFixture)6 PublicAtsApi (com.axway.ats.common.PublicAtsApi)2 SwingElementState (com.axway.ats.uiengine.utilities.swing.SwingElementState)2 Component (java.awt.Component)2 JMenuItem (javax.swing.JMenuItem)2 JComboBoxFixture (org.fest.swing.fixture.JComboBoxFixture)2 JPopupMenuFixture (org.fest.swing.fixture.JPopupMenuFixture)2 JTabbedPaneFixture (org.fest.swing.fixture.JTabbedPaneFixture)2 ElementNotFoundException (com.axway.ats.uiengine.exceptions.ElementNotFoundException)1 SwingDriverInternal (com.axway.ats.uiengine.internal.driver.SwingDriverInternal)1 ProjectViewTree (com.intellij.ide.projectView.impl.ProjectViewTree)1 File (java.io.File)1 ArrayList (java.util.ArrayList)1 JButton (javax.swing.JButton)1 JCheckBox (javax.swing.JCheckBox)1 JComboBox (javax.swing.JComboBox)1 JLabel (javax.swing.JLabel)1 JList (javax.swing.JList)1 JOptionPane (javax.swing.JOptionPane)1 JPopupMenu (javax.swing.JPopupMenu)1